Skip to main content

Posts

Showing posts with the label SOA

SOA Governance to API Management - a pragmatic approach

Service Oriented Architecture or SOA has been one of the turning points of enterprise IT architecture where it provided the clarity and the order that was missing initially. Then it evolved through the SOA governance to become a well managed and governed IT ecosystem. Once the APIs started to dominate the enterprise architecture, API management has come to the forefront with SOA governance fading away. It didn't happen overnight and there are a lot more to organizations still trying to figure out what is best for them.  This article discusses What is SOA governance? What is API Management? How SOA governance and API Management live together? Please find the link to the full article below. https://medium.com/solutions-architecture-patterns/soa-governance-to-api-management-a-pragmatic-approach-4421a609d015?sk=de16c6ad82f320b4a23ef46de21ba9f8

The evolution of Distributed Systems

Distributed systems (to be exact, distributed computer systems) has come a long way from where it was started. At the very beginning, one computer could only do one particular task at a time. If we need multiple tasks to be done in parallel, we need to have multiple computers running in parallel. But running them parallel was not enough for building a truly distributed system since it requires a mechanism to communicate between different computers (or programs running on these computers). This requirement of exchanging (sharing) data across multiple computers triggered the idea of the message-oriented communication where two computers share data across using a message which wraps the data. There were few other mechanisms like file sharing, database sharing also came into the picture. Source: https://dzone.com/articles/building-integration-solutions-a-rethink Then came the era of multitasking operating systems and personal computers. With Windows, Unix, Linux operating s...

Why Micro Services Architecture (MSA) is nothing but SOA in a proper, evolved state

If you are a person who is in the enterprise IT domain, there is a more chance that you may have heard the term "mircoservices". In your organization, there will be many people talking about this and you may already have read lot of material on this term. First of all, it is a great idea and if you can use those concepts in your enterprise, that is pretty good. So then, what is this topic all about? Let me explain a bit about the topic and the message I want to spread. If you are an old enough IT professional, you may have gone through the hype of SOA and might have been adopted that in your enterprise. After spending millions of dollars and years of engineering time, now you have a solid SOA adoption and everything is running well (not perfect). As you know, technology industry does not allow you to settle down. It does not care about your money or time, it will keep on throwing some new concepts and jargons in to the picture. Micro services is that kind of thing which...

How to configure timeouts in WSO2 ESB to get rid of client timeout errors

WSO2 ESB has defined some configuration parameters which controls the timeout of a particular request which is going out of ESB. In a particular  scneario, your client sends a request to ESB, and then ESB sends a request to another endpoint to serve the request. CLIENT->WSO2 ESB->BACKEND The reason for clients getting timeout is that ESB timeout is larger than client's timeout. This can be solved by either increasing the timeout at client side or by decreasing the timeout in ESB side. In any of the case, you can control the timeout in ESB using the below properties. 1) Global timeout defined in synapse.properties (ESB_HOME\repository\conf\) file. This will decide the maximum time that a callback is waiting in the ESB for a response for a particular request. If ESB does not get any response from Back End, it will drop the message and clears out the call back. This is a global level parameter which affects all the endpoints configured in ESB. synapse.global_timeout_inte...

How to secure your SOA system with WSO2 ESB - Security patterns tutorial

Security is one of the critical features of any SOA system. All of your enterprise is depend on the security mechanisms applied in your environment. People always think about computer security is some magic under the hood and most people cannot understand it's behavior. But in reality computer security is a well designed system which involves different parties. In this blog post I will be discussing about security aspects of any SOA system and some heavily used security patterns applied to cover those aspects. In any SOA system there can be one or more security patterns applied at different points of the service implementation. Here is a list of features we need to cover through proper designing of security patterns. Identification and Authentication Authorization Integrity Privacy Security auditing Availability Non-repudiation Identification and Authentication (Who you are) System needs to identify and verify the claimed identity of users of your system. Users...

How to deploy your WSO2 server in 1 minute with puppet

First I want to tell you that this is not a 1 minute tutorial as the “Sams Teach Yourself” series. This is about deploying your next WSO2 server (first server you deploy after following this tutorial) in 1 minute . Enough talking and let me take you straight in to the task. The concepts and the configurations I am describing here can be used in any kind of scalable deployment with WSO2 products. Below is a diagram of a system which we normally see in an enterprise integration project. Here you can see there are 3 set of systems and a number of WSO2 servers in the entire deployment. The generic approach to this kind of deployment is to first do the end to end implementation within the development setup and then move these configurations in to QA and Production systems. When you are installing your QA or production environment, you need to make sure all the things that done within the development setup are there in the production setup in a seamless manner. You d...

How puppet works in your IT infrstructure

What is Puppet? Puppet is IT automation software that helps system administrators manage infrastructure throughout its lifecycle, from provisioning and configuration to orchestration and reporting. Using Puppet, you can easily automate repetitive tasks, quickly deploy critical applications, and proactively manage change, scaling from 10s of servers to 1000s, on-premise or in the cloud. How the puppet works? It works like this..Puppet agent is a daemon that runs on all the client servers(the servers where you require some configuration, or the servers which are going to be managed using puppet.) All the clients which are to be managed will have puppet agent installed on them, and are called nodes in puppet. Puppet Master: This machine contains all the configuration for different hosts. Puppet master will run as a daemon on this master server. Puppet Agent: This is the daemon that will run on all the servers, which are to be managed using p...