Skip to main content

Service oriented architecture - 1

SOA, Yes, it expands to Service oriented architecture. What is it?
Keep these things in mind during design and analysis.
1. Whenever you design a service, you are designing a service for a business task.
2. These services can be linked to achieve bigger business goals.

Let us understand 'Service':
In my view, a service is an expectation fulfillment for a service consumer, without service consumer actually worrying about how is it fulfilled.
For example: A student opts of 'Data structures' lesson. The delivery of a lesson is a service for the student. The professor does his homework, examples and makes sure that student understands the lesson. Student and the professor are the different entities, yet there is a well defined service contract between them which enabled two entities exchange the expectation without student actually worrying about the service implementation aspects of the professor.

So, to be called a service, it should be meaningful. It should satisfy the certain expectations. It should be bound by well defined interfaces. Any design that is designed keeping 'service definition' in mind, is a service oriented design.

SOA is an architectural model for integrating business partners', customers' and suppliers'services into enterprises' business processes. 

Why SOA?

  • Promotes reuse of IT investment in a business [will touch upon example, later]
  • Promotes greater IT flexibility [will touch upon example, later]
  • Greater IT flexibility means business flexibility [will touch upon example, later]
  • Helps enterprises comply with government regulations [will touch upon example, later]

SOA is characterized by
- Well defined interfaces between the services.

Barriers for SOA adoption:

  • Difficult to justify ROI [will touch upon reasons, later]
  • Build vs Buy justification
  • New IT investment or use existing IT investment
  • Complexity of legacy application [How, will touch upon later]

While designing the services, consider the following:
- Business and IT alignment
- SOA Governance
  • Decision rights
  • Processes
  • Policies
  • Controlling aspects
  • Monitoring aspects

SOA Governance enables stakeholders to identify ROI.

SOA: DIY Kit
  • ESB, for aggregation, routing , transformation
  • BPM, for business process orchestration
  • Web services, well known means of service implementation
Examples will follow ...

Comments

Popular posts from this blog

Key to adopt open source product

Friends, I am working on business solution implementation on open source product called Kaltura. Kaltura is a media management solution and has loads of features that compel any business to take a peek into it. More-over this is the only complete end-to-end open source software available to handle digital assets. But it comes with its own head ache. Considering its open source, its understandable. I feel, handling these would ensure you the success in your open source product implementation. 1. In my opinion, before adopting any open source software, build the capability to deal with the inconsistency bundled in the open source software. 2. I would avoid involving external consultants for 2 reasons.      a. I am not sure, they would bring necessary expertise on to table      b. I fear that there would be little ownership, they will not see big picture of my business (neither I am interested to share it all) 3. Alternative to that is to build the team that is capable of debuggin

Secure your application on cloud

Handling sensitive data Define sensitive data for your application. Classify as sensitive data and confidential data. Sensitive data is something like password, credit card account number, something that you should not compromise at all. Confidential data could be your customer’s health record, something that requires your permission before its usage. So, you need to define sensitive data in the context of your application. There are many ways to protect the sensitive data in transit; the easiest way is to use SSL. This is nothing different than handling sensitive data in any traditional application.   However, make sure you apply this rule while designing your application for cloud deployment. Alternatively, you can encrypt the sensitive data and transport. Be noted that any kind of protection you design, will have implications on performance. However this is ignorable considering the nature of sensitive data. If you just want to protect your data from being tampered during

Sub-netting: Divide a network into 2 or more networks

Points to keep in mind: 1. Computers that belong to a subnet are addressed with an identical most-sig bit group in the IP addresses 2. IP is logically divided into NetworkIdentifier/Routingprefix and Restfield/HostIdentifier 3. Routing prefix can be expressed as CIDR (Classless Inter-Domain Routing) notation. Ex. 198.51.100.0/24 Implies NetworkIdentifier has 24 bits allocated and Rest field has 8 bits allocated 4. A network is characterized by subnet mask or netmask, applied by bitwise AND operation Ex. For 198.51.100.0/24, the subnet mask is 255.255.255.0 Subnet masks are used to identify the networks *If 198.51.100.0 is NetworkIdentifier, then 198.51.100.255 is BroadcastIdentifier For Class A, mask is 255.0.0.0; Class B, mask is 255.255.0.0; Class C, mask is 255.255.255.0 5. Traffic is exchanged between subnets through routers, when the routing prefixes of the source and destination addresses differ; A router serves as a logical boundary between the subnets. Advantag