Thursday, November 22, 2007

Offshore IT Model using SOA - Implementation pattern

Design Patterns

Approach -1























Approach -2




















Design Description
The above diagram gives a sneak preview of high-level implementation model of the proposal. Here the Service environment is number of SOA based internal systems running under IT department. It can be in a client environment either the client provided services or an environment provided by an IT vendor.

Our scenario thinks about how the data and identical or dissimilar services are shared in the proposed system by mean of defined rules set by multiple clients for their system. .For example, if the proposed system needs only limited information from the existing database of the  client for a transaction service defined , it can be retrieved through Web services and using XML orchestration defined in the system of a client. Data Synchronization Engine (DSE) enables the service to synchronize the data between the existing applications and proposed system of a client .We can ensure the clients that, the data is secured with them by means of defined orchestration mechanism and rules. Any client system can communicate with DSE for sharing the data for services and can getting a copy of the transaction made at service points. It enables a clients to ensure on data security. The database serves at service end always keep the necessary data for their transaction for a client. This enables an application to retrieve the required data from their environment at runtime. A web service running at both ends can be used to orchestrate the transaction.
The SOA based application framework handles logistics needed for a client system. A dedicated Application Request Processing Engine (ARPE) makes the rules by looking up the client specific orchestration, and decides which logistics (service) is to be tracked by means of a client call. We can place N-number loosely coupled of logistic components (services) framework based on varying domains for multiple clients. Therefore, it enables N-umber of clients to access their services by looking up the rules generated by rule engine on demand.  These components eventually communicate to the Data Access Mechanism (DAM) for data needed for a service.
Any application running for any clients above this layer can make use of Application framework components by giving a request to the ARPE. This ensures safe keeping multiple clients system on their data and logistics (services ). This can be configured by clients using a secure connection mechanism and client specific xml orchestration.
The above two approaches differs in Data Access Mechanism. In a transition phase clients may not be confident enough to share the data. In this prospect, we can follow the first approach for transactions and update to the second one on common defined agreements. This is for ensuring data security at any point during IT enabling stages. The above given approaches are not a full implementation of the new model. Any review comments will be appreciated and added along with this.


Deployment Model





















 Description

Application Access Layer is any client system that supports internally or externally to a business process. It can be thick client application that accesses the data for verification and validation purpose. Or it can be an internet based or thin client environment that make use of data through services. This need to have only limited configuration features

SOA Service layer, A service layer that ensure a highly integrated and secure data handling mechanism to the clients by following Service Oriented Architecture. It can be run at a dedicated service provider’s environment. Since this framework ensure the data security and service privacy using well defined XML rules. Here a client can ensure the security of both data and service through a secure data connection mechanism defined by them. We can ensure this through a secure connection mechanism. A client can have control over this by a defined rules signed by both client and service provider.

A temporary database/memory representation of data can be provided at service layer based on signed rules for better data security and dynamic data retrieval to the clients using modern database features. A legacy system data can be fetched here for faster transaction purposes and be can saved back to the client’s data centers periodically.

Secure Data layer, this can be a legacy system data centers or databases running on multiple environment at client side. Secure data transaction with service layer can be enforced by rule signed by both Service framework and client. Once the client is willing to share the data we can dynamically get the data from the client specific dedicated data centers for a transaction.

Review comments on this model will be appreciated and reach me for guidance:

About Me :Vinod Nair


IT for Small & Medium Enterprises (Managing Offshore IT Model following SOA )


Project proposal - Global Logistic Server
In the business world most of the  enterprise  are governed by internet based intranet based or product based software entity for smooth functioning of their logistics(For example healthcare, transportation, retail, banking, manufacturing etc.). Even though every enterprise falls in to a common logistic, everyone bring forth own IT enabled system for their business. Still we know that there is a huge gap in small and medium sized enterprises (SMEs) business and well defined cost effective IT services.

We know that most of these enterprises are functioning on similar logistics like retail, finance, manufacturing, agriculture, hospitality, banking etc. with varying inputs. At any time, in information technology also, most of the systems developed falls into these similar categories up to certain extend. Similar logistics are being automated for different enterprises by differed inputs and layouts.

Here we can look for a major business opportunity. We can think of a scenario (A global service model in a secured network). It is quite natural to think so, since nowadays we can categorize vast number of identical businesses entities, they fall in to any of these common logistic and follow similar business rules. Here the scope for a project comes up. I call it as “Global Logistic Transaction  Server (GLTS)".

Scope of the document:
Scope of the document is to propose a new strategy for developing applications based on Service Oriented Architecture (SOA) to enable well- defined IT Services among small and medium enterprises (MSMEs) following SaaS model. The document intends to create an initiative on this regard.

The project proposes:
Any Company enable us to develop a system (a Web based or intranet-based system or a product) will be the client for us here. We can provide them an internet or intranet based service by serving a Web server or a Component Server in a secure facility. Here we can make use of the facility “Global Logistic Server” by using latest and most secure technology available today. And we can extend this facility to N-number of clients they fall in to common logistic by varying inputs, on well-defined terms. In marketing perspective also, it is easy to market a workable/presentable  model to a client belongs to similar logistic.

A Global Logistic Transaction Server is having The Dynamic UI generator Engine (DUGE) and Logistic generator Engine (DLGE). UI generator generates customized UI for a client according to client's inputs and Logistic Engine generates upgradable logistics for the system. For example all business logistics and layouts  for a website based on a  specific logistic are defined by the company (client) itself, at any time.

Multiple companies follows similar logistics can make use of the “the Server” by varying input to the Server .The input can be placed by means a secure connection. A thick client enables to feed input for the engines . At run-time the engines can work with corresponding inputs and can layout rules for working with a particular client.

An Example:
Suppose there are two different companies working for two different products and the logistics will be the same for two companies – say sales. If two companies working on same logistics with two different products, we can develop a common logistic Server for both the companies with varying inputs. The common services can serve in our centralized facilities in application servers, and ask the  clients to work with us by making use of the the facility.


Here the advantage with the company is we can assure them that they do not want to deal with complex data handling department (Do not want to maintain an IT department in the company). We will maintain server for them and we can ensure a secure connection mechanism to verify and retrieve the data. Advantage from our side is we can make a long-term relation with a client by means of providing good service and will enable us to serve any clients working on the same domain without much complexity.

What are the scenarios we worked out here? :
1. A Dynamic UI generator generates UI and business links for a client based on clients input (Customizable for N number of companies)

 2. Is it covers all the security concerns raised by cloud computing, since the data is always secure with client’s premises.

3. A logistics engine that generates the logistics for a client using the client’s inputs (Identical Business Entities (domain) is to identify).

4.  A highly secured and high speed Data-servers that serves for multiple clients (Common Data Centers) to  enable quick transactions.

Points to be discussed:
1. A Dynamic UI generator generates UI and business links for a client based on clients input (Customizable for N number of companies).

Here we can think of an XML based UI. It will enable N - number of clients to generate their own UI by using information provided by them at run-time. It can be customized depend on client’s requirements (Like special logos, special offer, particular client ID and necessary inputs) at any time.  Using a secure connection (A thick client) a client can feed data to the Server for generating the layout for the site. Here following entities is to be considered.
  •  Basic layout for the UI.
  •  XML Schema.
  •  Secure mechanism for client to feed data.
  •  Common links or layout.

2. A logistics engine that generates the logistics for a client using the client’s inputs (Identical business logistics must be worked out)

Logistic engine, A Business layer component server that generates logistics for a client for their system. A different client that uses the same logistics can make use of this engine by looking up the input provided by them and by using a rule engine. A thick client using secure connection will enables a client to feed data for generating the business rule for the client.
For example if two companies selling two different products from the same country can follow same business rules other than few varying input or combination of few inputs .And if the transactions are being done in another countries the logistics can very based on certain input like tax , conversion ratio and transportation cost etc. In this case, a customizable logistic engine can work on different inputs provided by both the companies. For different locations, different logistics must be applied depending up on where the transaction is being made.Consider following entities for the same.

  •  Identify logistics having similar nature with differing input.
  •  Rule engine that navigate the logistics.
  •  Identify  logistic rules with  polymorphic behavior  (Rules for building  transaction entities)
  •  Enable a clients to feed values to their system, depends up on their transaction.
  •  If a client  does  a transaction  with combination of multiple items from different vendors, a logistic engine can perform a rule by means of evaluating all vendors inputs/logistics (enable crowd computing environment ).
  •  A secure connection to feed values
  •  Identify common logistic components.

3. A highly secured and high speed Data-servers that serves for multiple clients (Common Data Center) to  enable quick transactions.

Here we can think of dynamic database and table generation rules for secure data handling, based on multiple client access scenarios. 
  • How this scenario being worked out for multiple clients’ .How the data being handled in a  secured way, and what level of security must be provided behalf of client inputs.
  • How to manage   high-speed signals in Data Center servers and among client storage area networks.
  • How can we serve existing data for a client (How to import data from another data store)?
Client benefits
1. Reduced system development, deployment and maintenance cost /time, since different companies functioning on unique logistics share common IT facility in a highly secured network in SaaS model.

2. Customization of the system based on client decisions can easily be made, since the proposed system follows loosely coupled component based design on crowd environment.

3. Robust System and data backup will be maintained by we IT people with latest technologies available.

4. Resources with good logistics knowledge can provide better service together with latest technologies available in the market.

5. Robust System and data backup, since system will be maintained by responsible IT people or by the client, in their own environment.

6. A client can interact with their system by means of secure connection at any time, and we ensure optimum security to respective systems.

7. More cost effective and secure IT model, than reaching a corporate cloud/service environment for the same. Since here the IT is owned by we people together in a dedicated environment.

8.   Leave IT department to us, since we are responsible IT professionals.

9.  We work together to bring IT to the common life.

Profit/business behind
1. Regular income by means of serving multiple clients using a common system (Global Logistic Server) and shareable resources (Software, Hardware. Network Etc)

2. Once the logistics and data are safe and secure in a robust and dependable support system, a client is always happy with us to carry out their business. This enables a client to make a long-term transaction –relation-with us.

3. It is possible to ensure long-term relation with a client (Replacing of BPO Model to Service model).

4. Customizable logistic generator and UI generator reduces development cost/time for clients they need enhancements in business and new clients follows similar logistics.

5. Increased user experience by means of providing dynamic site update facility.

6. Enable a stable and long-term relation with multiple clients.

7. Service can be rendered by means of off shore model (Application deployed in local Web server and data is being secure with our facilities).

8. Better understanding of business model. Iteration of business model for multiple clients improves knowledge on a domain.

9. Generic Application Architecture. A common  system architecture can be shared across multiple clients without having much extension.

10. Attract more business by means of reduced deployment cost and deployment cost since we are serving the GLT in centralized facility.

Must be worked out
1. Change in business model
2. Rule engine complexities
3. Application development cost- Start with a prototype
4. Robust system support.
5. Secure and stable data handling mechanism.
6. Multiple domain knowledge (Logistics).
7. Marketing strategies for multiple clients working on similar domain.
8. Deployment perspectives.
9. Deployment Cost.
10. Dedicated System Support.

Cost behind
1. Design and development.
2. Robust System and data backup.
3. Network facility.
4. People with profile having good logistics and system knowledge.

Assumptions
1. JEE or .NET-based system can be used for developing the system. (An architecture that supports N-Tier will be the solution for the system).
2. More responsible assignments.
3. Initial cost will be high but in long run, it will overcome.
4. Serving multiple IP IDs.
5. Do we have enough resource to start with.
6. Similar Logistics can be automated for multiple clients.
7. Stable data handling mechanism is available in the industry.

The posting “Offshore IT Model using SOA - Implementation pattern ” describes the design and deployment models of the proposed model.

Review comments on this model will be appreciated and reach me for guidance:

About Me:Vinod Nair