By: Paul Sorenson
Lancet Consultant
Attention Information Technology pros: A major upgrade in web services is crossing over the business threshold and their names are .NET (pronounced dot-net) and J2EE. Coming courtesy of Microsoft and Sun Microsystems respectively, .NET and J2EE are technologies whose widespread usage seems inevitable: Start thinking in terms of when your company should use them, not if.
Technology Managers and Corporate Information Officers and IT VPs will need to modify their long-range strategic plans to account for the impact these systems will have in general. Project managers will want to consider .Net's emphasis on three-tier architectures and web technologies when planning staffing and skill requirements for projects. And Developers will need to learn the new tool set and language enhancements that .NET and J2EE include. Given the breadth of functions the technologies provide, today is the right time to consider how to integrate them into your company’s existing systems. The payoff for all concerned and the company itself will come when that one-time investment has been made and these new technologies are available for all future projects.
Defining .Net and J2EE
If your company plans to use Microsoft technology at any point past today, it will be using .NET in one form or another. If your business has even a moderate investment in Java development, you probably already are using J2EE. If your enterprise have both and make them talk to one another, you could be on the verge of the biggest change in the way information flows in your company since you started using e-mail. What exactly are .NET and J2EE good at? Web-based applications naturally come to mind, but not just at your corporate website. Both .NET and J2EE provide powerful toolsets and working environments for using web technology to make corporate databases accessible to internal employees. Pointing a web browser at an internal server may not sound like a huge technological innovation, but it is. In comparison, not long ago giving employees corporate e-mail accounts didn’t sound too amazing. Prior to that, people were posting memos on bulletin boards and faxing or sending messengers with documents around the company. It worked, but it could take a day or two for a simple piece of information to flow through an organization. The change from memos to e-mails compressed the amount of time it takes for information to move around a company. Employing .NET and J2EE to give employees access to corporate databases through internal web applications that can speed up the information flow even faster than e-mail exchanges.
Here’s a good example: A sales person is on the road and after visiting a client is asked to prepare a quote on a few products. The sales person needs to know the list price of the products they are quoting, the discounts that might be applied, the inventory status of the products, and the customer’s account status. Since the sales person is away from the office, they e-mail someone back at the company who has access to the database. That person accesses the database (probably more than one, given the variety of information the sales person needs) and eventually replies to the e-mail.
Giving employees access to corporate databases through internal web applications can speed up the information flow while reducing the number of people that must touch every order. By leveraging .NET and J2EE based web applications, not only can the traveling salesperson read the information directly from the databases, they can update those databases too. That means information can flow in both directions, compressing the time it takes for those databases to reflect reality and shortening the sales- cycle. Multiple databases aren't a problem either, since a single web application can be configured to access a variety of data sources in various formats, translating their contents for display in a web browser.
Software as Service
In a nutshell, both .NET and J2EE are all about treating software as a service, not a product. Web Services, another term that is peppered throughout technology industry literature, is all about letting applications talk to each other, similar to the way a web browser talks to a web server. However the transition from working with a lot of separate and isolated applications to an interconnected information infrastructure isn't going to happen overnight. Modular design is integral to the .NET and J2EE toolsets, allowing an incremental change in the way business is done. .NET technology already makes it possible to implement these concepts through proven rapid application development tools, and the latest generation of J2EE development environments is quickly catching up.
So which new technology is right for your company? Like a lot of business decisions, it depends on what you have today. The database-connected applications these technologies thrive on will often determine which technology is a better fit. If you have Unix based database systems, and you want to maintain a homogenous environment, J2EE is the logical choice (it runs in a Unix environment, .NET does not—yet). However, if you already have human resources that are familiar with Visual Basic or other Microsoft development tools, applying those resources to a .NET project will yield results faster and cheaper than attempting to convert your team to J2EE.
If you have neither, you're free to choose, and capitalization will eventually enter into the decision. A common "pro-J2EE" argument is that while .NET technology is cheaper to deploy initially (mostly attributed to lower cost hardware to run the systems), eventually any system that grows enough to require large database support will find those databases running in a Unix environment. At that point, if you decide to switch to a Unix based database while maintaining your Windows based web server, the heterogeneous nature of your system will cause its maintenance costs to increase. Of course, if you don't see yourself becoming the next amazon.com in the next five years, you don't have to worry about that. Databases running in a Windows environment --with .NET technology driving your applications -- will meet your needs at a lower cost than jumping directly into a Unix/J2EE world.
Finally, what if you want to run J2EE on cheap hardware, via either Linux or Windows? If you'd like to tap into the near zero licensing cost for Linux, you can certainly do that. Just manage your expectations about system availability and maintenance. You will also want to make sure you keep at least one Linux wizard on staff, since J2EE on Linux is the least well supported and most manually intensive combination you could choose. Running J2EE on Windows simply trades the potential Linux support issues for Windows licensing costs. Regardless of your current technology situation, both .NET and J2EE are all about taking the best of a variety of technologies and combining them in new ways to get work done faster to help drive revenue increases. And that is going to appeal to the business world and its bottom line in a big way.
Paul Sorenson is a Microsoft Certified Professional and Software Consultant at Lancet Software Development, Inc.,based in Eagan and specializing in business intelligence services, data warehousing and other customized web-centric applications using proven software methodology created by proficient IS teams in an innovative, award-winning “open book” culture that readily benefits customers such as Best Buy, Premier Inc., Lifecore Biomedical, Wells Fargo and others. Sorenson recently completed his .NET certification.
|