Service-Oriented Architecture and Legacy Systems
Nicolas Serrano, Josune Hernantes, and Gorka Gallardo
Enterprise systems are quickly evolving from monolithic silos to distributed applications with service-oriented flexible usage schemes. To keep up, IT organizations must adapt their legacy systems to meet changing business challenges almost in real time, with no second chances. Service-oriented architectures (SOAs) have evolved to flexibly operate and federate business processes and underlying systems. Authors Nicolas Serrano, Josune Hernantes, and Gorka Gallardo provide an overview of current SOA technologies and how to evolve in legacy environments. I look forward to hearing from both readers and prospective column authors about this column and the technologies you want to know more about. — Christof Ebert
SOA Primer
SOArsquo;s novelty is in how it designs infrastructure architecture based on services
instead of focusing on entire applications. Services are small, discrete units of software that provide a specific functionality and can be reused in multiple applications. SOA applies a loose-coupling design principle, which means that each service is an isolated entity with limited dependencies on other shared resources such as databases, legacy applications, or APIs. It helps provide an abstraction layer between producers and consumers, which promotes flexibility in changing service implementations without impacting consumers. SOA offers several benefits to businesses, but it isnrsquo;t the best architectural choice for all cases. On the plus side, it
bull; provides a natural way to modularize complex systems by integrating
services from different vendors independent of platform and technology;
bull; promotes loose coupling, helping the interface with legacy systems;
bull; increases efficiency by allowing applications to be reused, thus reducing cost and development time; bull; improves flexibility and scalability because multiple services can be easily developed from the integration of existing applications;
bull; allows a reduction of costs associated with maintenance;
bull; enables standards-based interoperability between systems;
bull; provides location independence to access data via any channel such as smartphones, tablets, or laptops; and
bull; allows an incremental approach to be taken, which helps meet customer demands faster by adding new services in response to specific business needs.
However, on the minus side, it
bull; is difficult to implement asynchronous communication between applications; bull; is challenging to implement real-time responses or high data transfers because XML brings robustness, not speed (although
there are other alternatives such as JSON); bull; has numerous security vulnerabilities due to process-sharing applications and systems; and bull; involves complex transaction
management in interactions between logically separate systems.
Moving to SOA isnrsquo;t easy, and enterprises wishing to do so must be aware of the diffi culties and inherent issues. Needless to say, every IT organization will experience multiple tradeoffs with SOA implementations; your mileage may vary. For effi ciency and fl exibility we recommend an incremental transition to SOA in legacy environments.
Web Services
Web services are, for most organizations, the simplest approach for implementing a loosely coupled architecture. This interoperability is gained through a set of XML-based open standards such as WSDL, SOAP, and UDDI to provide a common approach for defi ning, publishing, and using Web services. Web services evolved from Web applications. In fact, theyrsquo;re a simplifi cation of Web applications: instead of serving the user interface along with the data, they only serve the data; the client application is in charge of presenting the information. Consequently, Web services are
the most common way to implement a SOA—indeed, many systems use Web services without defi ning them as a SOA. The main advantage of SOA (and therefore of Web services) is that the same service can be consumed by different clients. The data that was originally designed for a Web application to consume can be used, without any modifi cation, by any other type of client. Examples include desktop applications that get data from a server without providing explicit SQL queries of the database or external systems such as a vending or public client information point that gets its data from a SOA service. A legacy system can be wrapped as a SOA service and respond directly to the HTTP protocol or work behind a proxy that translates the request to the legacy systemrsquo;s language. Ultimately, the message in HTTP is plaintext, which any system or programming language can produce.
Technologies SOA is a good option for building more fl exible applications, but choosing the right technology to achieve it will depend on your needs and environment. Letrsquo;s review the most relevant technology considerations for organizations wishing to adopt SOA in their own business processes.
SOAP vs. REST
When designing a Web service, we need to defi ne the set of rules wersquo;re going to use to exchange information. The main tools for doing this today are SOAP and REST.3 SOAP is the older protocol; it was developed as an Internet-capable alternative to established technologies such as CORBA. SOAP can use vari ous transports (HTTP, SMTP, and so on), which gives it more fl exibility. Data is exchanged in XML, so some performance issues could arise if the amount of information or messages transferred is high. SOAP can be used with Web Services Security, a standard for signing and encrypting messages that offers more secure information exchange.4 REST is a newer protocol that uses HTTP transport, but it can handle several data formats (XML, JSON, and so on); it relies on a specifi c URL instead of XML. REST is a lightweight alternative to SOAP
剩余内容已隐藏,支付完成后下载完整资料
英语译文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[237906],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 为非政府组织OG慈善基金会设计的基于社区的救灾管理系统外文翻译资料
- 基于UML建模的医疗系统电子健康服务软件外文翻译资料
- 开发一种具有增强现实功能的智能手机应用程序, 以支持护理学生对心衰的虚拟学习外文翻译资料
- 在开发 Web 应用程序中应用 Vue.JS 框架外文翻译资料
- 基于MES系统的生产车间信息管理研究外文翻译资料
- 基于Vue.js和MySQL的电子商务平台的设计与实现外文翻译资料
- 详细的Spring配置和SpringBoot外文翻译资料
- 基于NS2的DSR和AODV协议的性能比较研究外文翻译资料
- 不同仿真参数下NS2的TCP吞吐量性能外文翻译资料
- 基于Spring Boot和VUE的车辆管理系统实现外文翻译资料