Service Oriented Architecture
An expanded architectural framework
By Sam Mishra
Service Oriented Architecture is the latest in the architectural frameworks to design and build software. It is a means to put wrappers around legacy code, so that communication to databases (primarily relational databases like Oracle, DB2, MySQL) serving the legacy applications can be done using XML. XML is the lingua franca of e-business. XML is used to communicate between multiple SaaS (Software as a Service) systems, whether they have the Internet browser as the UI (User Interface) or whether they be data-serving batch reports.
Beyond data exchange between on-line and batch applications, XML can also be used to build RSS feeds to build traffic back to the websites, portals such as the Franteractive Strategy Portal, podcasts on Franconomics.com, etc. So, XML / RSS feeds are fast emerging as viral marketing techniques, along side Web 2.0 applications like Twitter.
An architect builds blue-prints prior to design and construction, as in Civil Engineering related real-estate: buildings, bridges, houses, and neighborhoods. A software architect creates blue-prints for real-estate on the Internet: Web 2.0 applications like Facebook and Twitter, ERP systems like SAP and Oracle, New Media websites like HuffPost and FRANCONOMICS.com, Office Automation Software like VOIP, etc. In that sense, SOA is an evolution of older software architectural models like MDA (model driven architecture), Pattern Oriented Architecture, n-tier (Internet, Application Tier, Database Tier) architecture, Client-Server architecture, monolithic (single machine based) architecture, etc.
Eventually, two things will happen in the software development business: all software will be served as a Service, and all software will be open-source. SOA will become ubiquitous as the underlying architecture for building SaaS applications using multiple platforms: J2EE, Dot-Net, LAMP (Linux, Apache, MySQL, Perl / Python / PHP).