Aarhus, Denmark – Amazon's CTO, Dr. Werner Vogels, kicked off the 10th annual JAOO conference by looking at how a services-based architecture helped the online bookseller transform itself into a sophisticated e-commerce platform.
The platform, which powers online retail sites like NBA.com, Target.com and Sears.com Canada, allows companies of all sizes to essentially 'outsource' their transactional, data processing and site rendering needs to a collection of publicly exposed Web services APIs. Amazon.com currently boasts 60 million customers and 1 million people who sell online using the Amazon Web services platform.
"It's about taking our software and forking it to the retailer," Vogels said. Partners can send everything from inventory data, SOAP and REST requests and even XSLT stylesheets, which Amazon's Web services use to decorate the partner's site.
But Amazon.com was not an overnight success and had to learn some difficult architectural lessons along the way. Vogels described how scalability was the primary motivation behind his company's gradual transition from a 2-tier, single application to a collection of Web services APIs.
The backend needed to be scaled over the years and by 2000, both the front end and back ends couldn't scale any more, Vogels said. Also, as the company's data center grew both in size and geographical reach, they had to figure out a way to eliminate performance bottlenecks.
"We essentially had to take all our business logic and move it closer to the database in the form of services APIs," Vogels said. "There is no other way to access the database directly without going through these APIs."
When the performance of a system increases proportionally to the number of resources you add to it, you have a scalable system, according to Vogels. There are also long term cost benefits to scalability; as new resources are added, their usage needs to be optimized in relation to ever-changing business needs.
"If you're going to fail, fail fast," Vogels said. System failure is a normal part of large, distributed data centers. However, it's important for servers that go down to get up and running again quickly and become available to the system.
Amazon has no dedicated nodes and has replicated all its key nodes in order to share load.
Danish government seeks SOA nirvana
"We have a lot of SOA ecosystems, but we don't have an effective interchange between these organizations," said Mikkel Hippe Brun, chief consultant and XML architect with the National and IT Telecom agency, Denmark. Hippe Brun was presenting a session titled "Bringing SOA to life: A New Danish Infrastructure," here at the JAOO conference.
With over 190 million electronic documents and paper forms floating around amongst its business partners and agencies, the Danish government realized quickly that they needed a more streamlined approach to document management.
"While we've been good about addressing interop at the semantic and protocol level, we've only recently started developing services interfaces," Hippe Brun said.
A public services registry has been pivotal in allowing the Danish government to submit and exchange documents with other organizations and governments. The Danish Web services profile currently implements the WS-Reliability and WS-Security standards and all endpoints are validated for profile compatibility when registered.
Hippe Brun showed an example of how a Web services consumer could look up a registered service, obtain a PKI certificate from a local LDAP server, send an encrypted message and then have it verified and decrypted at the receiving end.
But while the government is committed to implementing various WS-I profiles and standards like the OASIS Universal Business Language, further restrictions in the national profiles are still needed, Hippe Brun said.
"We're aiming to handle more than 200 million transactions a year," he said. "This is really the business case that's driving our SOA adoption."
Anne Mette Bragh Frederiksen, Project Manager with Ementor ASA, came to JAOO looking to evaluate SOA as an architecture for a project she's working on for the Danish government. As the government transitions to SOA, it plans to consolidate its 300 regional IT systems, associated with each of its local ministries, into 98 by June 2007.
Frederiksen closely followed the agile development track at the show, as she was "looking to make the administration (at her company) more flexible and agile." Agile software development proposes shorter iteration cycles and constant contact with the business stake holders and customers to ensure applications are meeting requirements, are of high quality and are delivered on time.
Additionally, within the IT organization, software projects span many departments and roles and customers are demanding more visibility into the business and development process chain.
The Danish government, in collaboration with large customers of IT products and software, are pushing for better process and management standards. CMMI (Capability Maturity Model Integration) is one such standard, which ementor sees as vital to making software projects more transparent to the customer, from the project management level, down to the development level.