Tuesday, April 27, 2010

Introduction to Service-Oriented Architecture

Service-Oriented Architecture have been a discussion even as early as late 90s. This system architecture is meant to expose macro-level services that can be consumed by business directly instead of the micro-level software components like classes. It also encompasses abilities of being able to distribute and aggregate services from different topographical locations through the internet. Imagine a system similar to previous software architectures and technologies like modular programming, component-based design, object-oriented programming etc, except that it can be distributed across different technologies, platforms, network and location given that they should have common interfaces promoting interoperability.

Service-Oriented Architecture or SOA, technically gave birth to present technologies like web services and mash-ups. It promoted more user interaction from different web application we can also say that it influenced the concept of web 2.0.

The first attempt to implement such technologies was the year 2000, when a group of people imagined a world where businesses register a service that everyone can access through a contract, they authored UDDI(yu-di) or United Description, Discovery and Integration to describe interfaces of these "services". Ever since then many private and public institutions tried to implement SOA only to find out later that it's an expensive undertaking in comparison to ROI. So by 2008, some executive wrote that SOA was dead. She argued that organizations was doing it wrong. Organizations were/are concentrating more on the architecture and how to implement the platform rather than the "services" themselves, which literally generates income, which is correct. Nonetheless, implementation of such architecture was doomed-to-fail during early 2000. It was more than what the focus on development was. Network bandwidth was too small not to mention very expensive. Same with processing and storage capacity. There's was also very little open-source code written for data aggregation and distributed computing. But we're fortunate, the times have changed and all these problems are long eased if not totally eradicated.

Take a look at the following simple services models that's easy to implement. Remember, simplicity is beautiful.

1. Service Gateway Model
2. Distributed Stored Services Model
3. Distributed Remote Services Model

I will discuss them more at a later time.
  • Related Links Widget for Blogspot

No comments: