XML and Competitive Advantage
by James Counihan, MCT
XML is the foundation of the next generation of business processes and opportunities. Companies and individuals that recognize the impact and potential of this will hold a competitive advantage over those that do not.
An open standard, XML forms the basis of application integration over the Internet. Whether your data is moving from Vendor to Client or HR to Accounting, XML has quickly become the language of choice for business interoperability, both externally and internally.
XML web services, for example, allow applications written in different languages and on different platforms to communicate with each other through established Internet protocols. Remember EDI and EDIFACT? The idea of exchanging business data with trusted partners was a great one, but it was too difficult and expensive for all but larger organizations to implement.
Enter XML web services. When used to create the Internet-based applications and services, XML can:
- Integrate your business processes and applications.
- Create new revenue and partnership opportunities.
- Reduce application development costs and timelines, while increasing your market agility.
By leveraging the Internet as a communication channel for applications and services, XML can enable you and your customers to capitalize on it as a true business platform.
Right now, most organizations have data siloed in different applications that inhibit our ability to share information across those application and process boundaries. In some cases, that can be a good thing. In many cases, it makes combining the data to increase effective decision making and decrease duplicity extremely difficult.
The days of isolated systems and islands of technology that don't communicate with each other are going bye-bye. Your business can integrate these islands of technology into a single system that makes previously disparate services and information always "on" and always available to each other. The result is deep integration of applications and information - both internally and externally.
For example, the applications currently used by your HR and accounting departments can be exposed as XML web services to create a much more comprehensive application that delivers combined data. And, because XML is language- and platform-independent, you can link that new marketing application with a legacy application written in a different programming language.
Using Microsoft's .NET-based technologies and products, you can build new solutions or wrap your existing applications with XML web services - without having to rip and replace legacy systems. Previously disconnected silos of information can now interact in real time, providing you with a rich and flexible technology infrastructure.
Not only can you deeply integrate internal business applications with XML web services, you can expose applications and services to other businesses. In the same way, you can access external applications and services that have been exposed by other businesses. By weaving together different XML web services, you can leverage the core strengths of outside companies to create a limitless variety of applications that add value to your business.
For example, you can extend your custom internal applications by stitching them with externally available services. No longer do you have to build every component of an end-to-end solution.
Looking at it from another perspective, a single application feature that you make available as a service can be a revenue opportunity. By bringing together features to create a variety of business solutions and exposing them to both new and existing applications and services, you can extend both market reach and interoperability. Since these woven applications and individual services are XML-based, they can be accessed by a wide variety of platforms and devices - extending potential markets even further.
Remember the core idea of development, where encapsulating code into re-usable chunks helps speed development time while minimizing bugs and maintenance? Think about how, in addition to that internal code- and object-library you've invested in, you now have access to the services of external libraries as well - on an as-needed basis and in a continually configurable combination based on market need.
Another advantage of encapsulation during the development process is that we can shift chunks of development over to those people who are strong in them, so they can do what they're best at. This also allows the parallel development of those different chunks. Because XML is a standard language that allows for interoperability between applications and services, developers are free to use the development language they're most familiar with, adept at, and that best fits the need.
You probably already outsource some aspects of your business process to outside vendors, so you can concentrate on your core competencies. XML-based web services are similar, except that now you have the ability to outsource parts of your internal knowledge management. Developers can access code that's been exposed as an XML web service to outsource basic services that are used all the time, like authentication and calendar functions. Likewise, you now have the ability to create and expose your own services that other developers can combine with others to create their own business process applications. Because these virtual applications are built by weaving together different internal and external services, you can quickly re-tune your own internal processes based on changing business demands and market opportunities.
Now developers can build applications with less code, being able to focus on business logic and value rather than on time-consuming plumbing issues. I've got a file on my desk that's COBOL written in .NET, and another that's an XML Web service written with Notepad. I taught a class recently that presented XQuery, an open, XML-based querying language that lets you access data and information across multiple types of exposed relational and non-relational data stores with the single query, "Competitive advantage?" Trust me, you want in on this one.