|By Yakov Fain||
|July 18, 2005 08:45 AM EDT||
Several years ago I was thinking about buying a small gas station in my local town. I went to my friend Gregory Z., a successful businessman in this field, and asked him, "How do I start a gasoline business?" He gave me simple but wise advice: "You know nothing about gas, but know a lot about computers. Keep doing what you're doing. Just be a little better than others".
I'm trying to follow his advice but I keep thinking how would I apply my software skills had I bought such a business. So here I am again asking for your help, advice, and experience: let's automate my virtual gas station.
I've borrowed the money from a bank and now I have:
- A four-car gas station
- A small convenience store (coffee, cigarettes, milk, newspapers)
- A repair shop that changes oil, brake pads, and tires
- Six employees: one American, two from India, one from Russia, and two from Pakistan; one employee speaks English, and the others speak well in their native languages. I think they have work permits.
- Three decent Wintel computers
- $1,000 USD software budget
The only difference between my gas station and Wal-Mart is that they have more suppliers, sell more products, and have more customers. But I'm facing similar challenges: I need to deal with various suppliers of gas, food products, and car parts. I also need to have accounting and payroll systems. That's why I'm planning to architect a system that has different services communicating with each other. I need a service-oriented architecture (SOA).
In a perfect world, all service providers use the same protocol, which is as challenging as having all my employees use only the English language. My employees are trying hard, because for them it's a matter of surviving. Initially they are exposing just a minimal number of public services like fillItUp, getCash, processPlastic, marlboroLightsPlease, oilChange, and takeTip. Smarter employees quickly add more services to their vocabulary to become more competitive. Each of these coarse-grained services may consist of several smaller steps, but consumers don't need to know about them.
When the guy who sold me the business gave me a pile of different forms to use with suppliers, I thought to myself, "Tight coupling in action." I need to know where these suppliers are located, their services, and how to request them. If a particular vendor changes its request form (the protocol), I'll need to get a new one, otherwise I may lose this service. I'd rather be sending a message to some destination saying, "Yakov needs 1,000 gallons of 93-octane gasoline." Expected response: several price quotes from different vendors. This would be an example of decoupled services. I don't know who they are and they don't know who I am, but we've dynamically discovered each other. I've heard that Jini could help me with this. Is this right? Anyway, in a loosely coupled system a service requestor needs to know the name of the service, what data to provide, and what to expect back, but it should be easy to switch from one provider to another.
Messaging and Transport
One of the best ways to request and receive services is by using asynchronous messaging. JMS is an excellent API, but you still need a transport to deliver your messages between the services, for example, message-oriented middleware (MOM). IBM and Tibco offer great MOM products, but I'd need to sell my gas station and get another loan just to pay for it. No, I need to find something for free.
Web services seems to be a decent way to arrange my interaction with external suppliers using a free Internet-HTTP-WSDL-UDDI-SOAP combo. If my external vendors will start publishing their gasoline-tires-milk quotes, I'll write a program that will automatically be looking for the best deal in my neighborhood. Can Eclipse IDE help me with automatic generation of all supporting files for Web services?
OOP Plus AOP
It goes without saying that I'm thinking objects (thank you, Bruce). When I close my eyes, I clearly see the classes Product, Order, and Customer…but after reading about aspect-oriented programming (AOP) these objects become blurry. But AOP is a way to go and I'll dig more in this direction.
Storing My Data
I need a free DBMS. It doesn't have to be fancy and implement sophisticated SQL constructs. Inner and outer joins plus indexing will do. Coding business logic in stored procedures is not in fashion these days. Hibernate looks nice for object-relational mapping. Is this my best option?
For thin Web clients I'm planning to learn AJAX. If Google did it, so can I. How about rich clients? Swing is not there yet; SWT looks better; .NET is the best but isn't free. Should I spend my money on VB.NET? But I don't know VB! Let me ask my Russian employee Alex if he knows it. He looks like a PhD (does he really have a work permit?).
I'd love to hear your input to this new column. You don't need to write any code, but rather suggest some affordable tools and architectural solutions for my small business. Just provide your feedback to the online version of this article at http://jdj.sys-con.com/read/108260.htm.
|Tamizhan 07/16/07 02:49:46 AM EDT|
It may be a very late mail to suggest your small business solutions.I believe that the following open source softwares can be used to create cross platform multitiered application for any small business.
OS : Linux
Fron End : JSPs,Struts,Ajax.
Back End : MySQL or DBMaker
Middleware : Stateless Session Bean,MDB,Java Webservice
Server : JBoss
Object Relational Mapping : Hibernate
Logging : Log4J
IDE : Eclipse,Netbeans
Build tool : Ant
Version Control : CVS
Bug Reporting tool : Bugzilla
Many Systems running successfully using the above mentioned tools.I don't know the Free MOM tools and Content Management tools.
Developers : Free Lance Programmers!. If you make BIG MONEY after successful Launch of Business or Application,You can PAY money to Free Lance Programmers.
|Gabriel 12/21/05 03:34:53 PM EST|
Many people here didn't get the point quite right. 1st, there is no gas station. 2nd, this article is about trying to find ways to build an IT infrastructure for small business, which are low on budget. What development tools and technologies best fit in this scenario? Based on this, what is the best way to acomplish the needed tasks? Remember, this article is about how to develop software for the small business, using open source software¹, based on the same technologies used by the big guys.
¹ I think open standards are more important than open sourse, but none of them are problems for Java.
|nick patel 12/13/05 03:49:44 PM EST|
plese let me know how much cost to build new gas station plese email or call 865 690 4670
|nick patel 12/13/05 03:49:39 PM EST|
plese let me know how much cost to build new gas station plese email or call 865 690 4670
|nick patel 12/13/05 03:49:38 PM EST|
plese let me know how much cost to build new gas station plese email or call 865 690 4670
|Ted Weismann 09/14/05 05:26:14 PM EDT|
For the front end, have you considered using Sun's Java Studio Creator? It combines 100% Java standards with visual programming, e.g. JavaServer Faces for visual UI design and simplified coding, JDBC Rowsets for drag-and-drop data access and visual query building, and Java API for XML Web services, for simplified access to WSDL based services. It includes drag-and-drop UI design and access to databases and Web services, as well as visual page flow design - all for $99.
|Jay 09/07/05 09:05:21 PM EDT|
Try using ServiceMix which is an open source Enterprise service bus product by Apache. Its very nice tool for integration and they use JBI (Java Business Integration) and JSR 208 and EDA (Event Driven Architecture) which makes it best ESB framework for SOA i.e SOA + EDA. You can deploy this on JBOSS which is also open source application server.
|moshe sheleg 08/29/05 06:08:05 AM EDT|
Regarding you gas station software needs, i would be happy to offer our services.
Please visit http://www.siteron.com for more information.
Do what you do best, outsource the rest...
|Yakov 08/05/05 01:53:20 PM EDT|
Having done both Java Swing and .Net, why you do not recommend .Net? What's wront with it?
Also, what's so good about JBoss in terms of monitoring? JMX is available in any J2EE compliant server. I wonder what kind of monitoring JBoss provides off the shelf that does not require additional programming?
|Greg 08/04/05 02:29:14 PM EDT|
Interesting way to write an article. It will be fun to see how it turns out.
Looks like you are trying to determine some tools to use first. You should probably define your business needs first. Anyway, here are some suggestions for tools...
For the front end, you asked about using either .Net or Java. I'm currently using both Java and .Net. I have a lot of Java Swing experience and some (<6mo) experience with .Net. From what I've seen of .Net 1.1, I would go with Java unless you find a Windows specific need that you cant solve in Java. If you don't need a super-rich front end, you should just make it a web-based client.
If you are looking for free databases consider MySQL or Cloudscape. However, those are only relational databases. Why not consider using a OO DB?
Another thing you will need is a good way to run, configure and monitor your system. Since you are looking for free open source stuff, you should look at JBoss. It makes a great micro-kernal for running Java as Managed Beans. JBoss lets you control and monitor the beans with JMX.
|Bill McCuistion 07/29/05 09:19:02 AM EDT|
1. You won't be the same as the others, as you'll use your JAVA skills to integrate your unique twists into the QB framework, such as your SOAP service for scouting lowest-cost / best value suppliers. JAVA works just fine with the QBSDK, which is XML-based. Included in the QBSDK is a SOAP-to-COM bridge, so your JAVA code can run anywhere.
2. When you sell the station next year, you'll likely retain a consulting contract to maintain the custom apps you developed. You'll also likely be able to negotiate a higher sales price due to the increased profitability due to your "special" integratons with QB for general accounting, purchaing, point-of-sale, credit card processing, payroll processing and customer relationship managment.
3. Run QB on Linux using Cross-Over Office. Use LAMP/J for apps. OpenBooks, the open-source alternative to Quicken is not really (yet) an alternative to QB, and you've now got a gas station to run. You'll have enough to keep you busy with the add-in modules to not have to worry about how the system calculates sales taxes, payroll taxes and on-line banking using OFX. In other words, use Open Source where it makes sense, and use the classic "Make or Buy" decision to guide that decision. $800 for the QB/POS package license gets you a lot of functionality in an accounting system.
As for your need to mix purposes with the magizine articles, the other stakeholders in the gas station might not be happy with sub-optimization of the gas-station business for your side-line businesses.
4. The decision to use QB is not at all different from using SAP (or Lawson or whatever) and needing to integrate with it, except that the little guy usually can not take the risk of custom development in the same way the the big guy does.
Look for the competitive advantage where you can get it. Make the other guys *think* you're running a stock version of QB. Make them wonder how you keep finding the best purchasing deals. Make them wonder why you have customer loyalty and are able to charge a premium for regular gas. Make them wonder why this and that. Let them make mistakes, while you take baby-steps learning to run a gas-station. Join a local gas-station owners support group, so you can pick-up tricks. Listen to their pain-points, which will give you ideas on how technology might help you prevent / address them before they become your pain points.
You will have a hard time being a consultant to yourself. Get your chart-of-accounts in order. Get your item master set-up. Get your vendor list set-up and get manilla files going too. Get your bar-coder and credit card reader working. You're in retail and need to at least last a year.
BTW -- Reportedly, the largest concentration of bootleg QB software is in the former Soviet countries. It's very likely that your help already knows how to use QB. It was an easy switch from Communism to Capitalism for most of those guys. If the CIA had dropped QB into the Soviet Union 20-years ago, the cold war might have ended a lot sooner.
|Yakov Fain 07/29/05 08:46:56 AM EDT|
I like Bill's comment!
Most likely QuickBooks can solve most of my needs, but...
|Bill McCuistion 07/28/05 01:01:19 PM EDT|
Dude! Get a copy of QuickBooks and the QB Point-of-Sale system and be done with it!
Then, if you need to integrate applications, there's a great SDK that let's you do this.
Now, I didn't write QuickBooks, and don't really wish to have to defend it, but if you've got to sell gas and need an immediate off-the-shelf solution in your price range, then go to Best Buy and get the QBPOS bundle, which also comes with a Dell computer.
|Branden 07/26/05 06:56:18 PM EDT|
Seems like a few assumptions in the article were a little.. off base.
Using tomcat, hibernate, mysql, a free operating system, and OS jms products you should be able to do this project with a minimal budget.
|jay patel 07/25/05 10:27:56 PM EDT|
jms: many open source products available (jboss,objectweb???,etc)
|Scott Fingerhut 07/21/05 12:27:00 AM EDT|
AJAX? Check out InfoWorld's Jon Udell speaking to TIBCO and recording a live demo of the AJAX tool TIBCO General Interface -- something anyone can use (without a Google budget) to develop compelling rich internet applications.
Here's a link to the InfoWorld blog: http://weblog.infoworld.com/udell/2005/05/25.html
Interested in getting your hands on the priority preview version? Join the AJAX Accelerator Program: http://www.tibco.com/mk/2005/gi.jsp
|James Brockman 07/20/05 09:27:07 AM EDT|
>> For thin Web clients I'm planning to learn AJAX. If Google did it, so can I. How about rich clients? Swing is not there yet; SWT looks better; .NET is the best but isn't free. Should I spend my money on VB.NET? But I don't know VB! Let me ask my Russian employee Alex if he knows it. He looks like a PhD (does he really have a work permit?). <<
Actually, .NET is free, it's just Visual Studio.NET you pay for. Download the .NET SDK from MSDN, then for rich client development download SharpDevelop at http://sharpdevelop.com, or opt for ASP.NET WebMatrix at http://www.asp.net/webmatrix/ if you're thinking of browser front-ends to your apps. Then, enjoy.
SharpDevelop's support for VB is secondary to its C# support, but not only is SharpDevelop open source, but it is not limited to .NET projects.
|JDJ News Desk 07/20/05 08:02:08 AM EDT|
Small Business Solutions. Several years ago I was thinking about buying a small gas station in my local town. I went to my friend Gregory Z., a successful businessman in this field, and asked him, 'How do I start a gasoline business?' He gave me simple but wise advice: 'You know nothing about gas, but know a lot about computers. Keep doing what you're doing. Just be a little better than others'.
|Mark 07/20/05 07:43:30 AM EDT|
Having done plenty of Java and VB6(<) and .Net, I would say that Swing is more than there and .Net is definitely not better(overall). If decide you do want to do .Net DON'T do VB.Net. Do C#, if you have a Java background.
For doing AJAX, I would suggest looking Echo2.
"Once customers get a year into their IoT deployments, they start to realize that they may have been shortsighted in the ways they built out their deployment and the key thing I see a lot of people looking at is - how can I take equipment data, pull it back in an IoT solution and show it in a dashboard," stated Dave McCarthy, Director of Products at Bsquare Corporation, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 9, 2016 09:30 PM EST Reads: 1,277
What happens when the different parts of a vehicle become smarter than the vehicle itself? As we move toward the era of smart everything, hundreds of entities in a vehicle that communicate with each other, the vehicle and external systems create a need for identity orchestration so that all entities work as a conglomerate. Much like an orchestra without a conductor, without the ability to secure, control, and connect the link between a vehicle’s head unit, devices, and systems and to manage the ...
Dec. 9, 2016 08:00 PM EST Reads: 1,016
An IoT product’s log files speak volumes about what’s happening with your products in the field, pinpointing current and potential issues, and enabling you to predict failures and save millions of dollars in inventory. But until recently, no one knew how to listen. In his session at @ThingsExpo, Dan Gettens, Chief Research Officer at OnProcess, discussed recent research by Massachusetts Institute of Technology and OnProcess Technology, where MIT created a new, breakthrough analytics model for ...
Dec. 9, 2016 07:45 PM EST Reads: 710
IoT is rapidly changing the way enterprises are using data to improve business decision-making. In order to derive business value, organizations must unlock insights from the data gathered and then act on these. In their session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, and Peter Shashkin, Head of Development Department at EastBanc Technologies, discussed how one organization leveraged IoT, cloud technology and data analysis to improve customer experiences and effici...
Dec. 9, 2016 06:45 PM EST Reads: 5,142
Everyone knows that truly innovative companies learn as they go along, pushing boundaries in response to market changes and demands. What's more of a mystery is how to balance innovation on a fresh platform built from scratch with the legacy tech stack, product suite and customers that continue to serve as the business' foundation. In his General Session at 19th Cloud Expo, Michael Chambliss, Head of Engineering at ReadyTalk, discussed why and how ReadyTalk diverted from healthy revenue and mor...
Dec. 9, 2016 06:15 PM EST Reads: 1,763
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lead...
Dec. 9, 2016 05:30 PM EST Reads: 478
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
Dec. 9, 2016 05:30 PM EST Reads: 2,367
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
Dec. 9, 2016 05:15 PM EST Reads: 1,886
The Internet of Things (IoT) promises to simplify and streamline our lives by automating routine tasks that distract us from our goals. This promise is based on the ubiquitous deployment of smart, connected devices that link everything from industrial control systems to automobiles to refrigerators. Unfortunately, comparatively few of the devices currently deployed have been developed with an eye toward security, and as the DDoS attacks of late October 2016 have demonstrated, this oversight can ...
Dec. 9, 2016 05:15 PM EST Reads: 1,468
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Business Development at Nvidia, discussed the accelerating pace of AI development and how IBM Cloud and NVIDIA are partnering to bring AI capabilities to "every day," on-demand. They also reviewed two "free infrastructure" pr...
Dec. 9, 2016 04:45 PM EST Reads: 1,313
As data explodes in quantity, importance and from new sources, the need for managing and protecting data residing across physical, virtual, and cloud environments grow with it. Managing data includes protecting it, indexing and classifying it for true, long-term management, compliance and E-Discovery. Commvault can ensure this with a single pane of glass solution – whether in a private cloud, a Service Provider delivered public cloud or a hybrid cloud environment – across the heterogeneous enter...
Dec. 9, 2016 04:45 PM EST Reads: 1,868
"Dice has been around for the last 20 years. We have been helping tech professionals find new jobs and career opportunities," explained Manish Dixit, VP of Product and Engineering at Dice, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 9, 2016 03:30 PM EST Reads: 1,244
Extracting business value from Internet of Things (IoT) data doesn’t happen overnight. There are several requirements that must be satisfied, including IoT device enablement, data analysis, real-time detection of complex events and automated orchestration of actions. Unfortunately, too many companies fall short in achieving their business goals by implementing incomplete solutions or not focusing on tangible use cases. In his general session at @ThingsExpo, Dave McCarthy, Director of Products...
Dec. 9, 2016 03:15 PM EST Reads: 990
"ReadyTalk is an audio and web video conferencing provider. We've really come to embrace WebRTC as the platform for our future of technology," explained Dan Cunningham, CTO of ReadyTalk, in this SYS-CON.tv interview at WebRTC Summit at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 9, 2016 03:15 PM EST Reads: 876
The many IoT deployments around the world are busy integrating smart devices and sensors into their enterprise IT infrastructures. Yet all of this technology – and there are an amazing number of choices – is of no use without the software to gather, communicate, and analyze the new data flows. Without software, there is no IT. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, Dave McCarthy, Director of Products at Bsquare Corporation; Alan Williamson, Principal...
Dec. 9, 2016 02:45 PM EST Reads: 649
Businesses and business units of all sizes can benefit from cloud computing, but many don't want the cost, performance and security concerns of public cloud nor the complexity of building their own private clouds. Today, some cloud vendors are using artificial intelligence (AI) to simplify cloud deployment and management. In his session at 20th Cloud Expo, Ajay Gulati, Co-founder and CEO of ZeroStack, will discuss how AI can simplify cloud operations. He will cover the following topics: why clou...
Dec. 9, 2016 02:45 PM EST Reads: 1,049
Video experiences should be unique and exciting! But that doesn’t mean you need to patch all the pieces yourself. Users demand rich and engaging experiences and new ways to connect with you. But creating robust video applications at scale can be complicated, time-consuming and expensive. In his session at @ThingsExpo, Zohar Babin, Vice President of Platform, Ecosystem and Community at Kaltura, discussed how VPaaS enables you to move fast, creating scalable video experiences that reach your aud...
Dec. 9, 2016 02:42 PM EST Reads: 269
WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web communications world. The 6th WebRTC Summit continues our tradition of delivering the latest and greatest presentations within the world of WebRTC. Topics include voice calling, video chat, P2P file sharing, and use cases that have already leveraged the power and convenience of WebRTC.
Dec. 9, 2016 02:15 PM EST Reads: 1,788
"At ROHA we develop an app called Catcha. It was developed after we spent a year meeting with, talking to, interacting with senior citizens watching them use their smartphones and talking to them about how they use their smartphones so we could get to know their smartphone behavior," explained Dave Woods, Chief Innovation Officer at ROHA, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Dec. 9, 2016 02:15 PM EST Reads: 830
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
Dec. 9, 2016 11:45 AM EST Reads: 2,384