Web Services and internal SOA with 2E and WebsydianExpress.

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Web Services and SOA with CA Plex and Websydian TransacXML.
Websydian Anne-Marie Arnvig Manager, Websydian Communications & Relations.
Web Applications with CA 2E and WebsydianExpress Develop and Deploy.
Chapter 11 Designing the User Interface
Websydian products.
Software change management
Web Services and SOA with 2E and WebsydianExpress.
Idaho National Engineering and Environmental Laboratory What is a Framework? Web Service? Why do you need them? Wayne Simpson November.
Fabian Vilers Hands on ASP.NET MVC.
3rd Annual Plex/2E Worldwide Users Conference Page based on Title Slide from Slide Layout palette. Design is cacorp Title text for Title or Divider.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Session 6 Server-side programming - ASP. An ASP page is an HTML page interspersed with server-side code. The.ASP extension instead of.HTM denotes server-side.
XHTML Presenters : Jarkko Lunnas Sakari Laaksonen.
J4www/jea Week 3 Version Slide edits: nas1 Format of lecture: Assignment context: CRUD - “update details” JSP models.
Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. 5C The Plex SOA Strategy.
Chapter 3: System design. System design Creating system components Three primary components – designing data structure and content – create software –
Apache Tomcat Server Typical html Request/Response cycle
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
Chapter 13: Designing the User Interface
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
UNIT-V The MVC architecture and Struts Framework.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
WebsydianExpress ™ for RPG Developers. Presenter Niels P. Sorensen Product Manager, Websydian Lead Architect Developer for many years in languages like.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
GRAPPA Part of Active Notebook Science Portal project A “notebook” like GRAPPA consists of –Set of ordinary web pages, viewable from any browser –Editable.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
CA Professional Web Site Development Class 2: Anatomy of a Web Site and Web Page & Intro to HTML.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Using the Right Method to Collect Information IW233 Amanda Murphy.
CF101: Welcome to ColdFusion Simon Horwith CTO, Etrilogy Ltd.
Porting methodology Porting of an WEB Site using PTK To insert your company logo on this slide From the Insert Menu Select “Picture” Locate your logo file.
XML Engr. Faisal ur Rehman CE-105T Spring Definition XML-EXTENSIBLE MARKUP LANGUAGE: provides a format for describing data. Facilitates the Precise.
XP Tutorial 8 Adding Interactivity with ActionScript.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
 An essential supporting structure of any thing  A Software Framework  Has layered structure ▪ What kind of functions and how they interrelate  Has.
Display Page (HTML/CSS)
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Bayu Priyambadha, S.Kom. Static content  Web Server delivers contents of a file (html) 1. Browser sends request to Web Server 3. Web Server sends HTML.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Testing and delivery Web design principles. Web development is software development.
Section 10.1 Define scripting
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
The Components of Information Systems
z/Ware 2.0 Technical Overview
The Components of Information Systems
Chapter 27 WWW and HTTP.
Lecture 1: Multi-tier Architecture Overview
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Brian Kotek INDUS Corporation
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Information System Building Blocks
Presentation transcript:

Web Services and internal SOA with 2E and WebsydianExpress

Speakers Søren Madsen Chief Consultant, Soft Design A/S Anne-Marie Arnvig Communications Manager, Websydian A/S

Agenda Websydian and web services Service Oriented Architecture vs. web services What is a service? The SOA idea The SOA Benefits WebsydianExpress for 2E Internal SOA in your 2E application – a practical approach built on a customer case Questions

Websydian and web services Working with web services since 2001 TransacXML for CA Plex –Generate and send XML documents –Receive and consume XML documents –Import WSDL and schemas –Generate schemas –Compliant with XML standards

SOA vs. web services You can have SOA without doing web services, and you can do web services without having SOA. SOA is more a methodology than a particular technology. Mindset and discipline are essential.

What is a service? A service consists of one or a series of contact points where some kind of interaction or interchange occurs: Ordering a sandwich in a sandwich shop Calling your local tax authorities for instructions Retrieving data on a web site … A service is a way of organizing or structuring a series of action processes/interchanges in order to lead the service receiver to the service goal.

The SOA idea Each interaction process should interface to the next interaction process to finally reach the goal. If we do it right, we can reuse the processes, but only if the interface contract is in place and fulfilled.

How not to A Both elements fulfill their individual purpose, but the interface contract between A and B is not in place or not fulfilled. B

Building blocks with standard interface The general SOA idea is to work smarter by constructing systems as sets of building blocks that can all be fitted with each other to create new facilities – one fits all. The building blocks are services. Built correctly they are so loosely coupled that they can be shared and used for other applications.

SOA Benefits Code reuse Parallel development Focused developer roles Platform independence Greater testability Better scalability Higher availability

WebsydianExpress for 2E – what the..?? Frame for working with web and web services with 2E

Plex/2E/RPGSecurity User managment Session control Administration Transport layer MenuLogin Design Authorization system What the user doesnt see What the user sees WebsydianExpress for 2E

Plex/2E/RPGSecurity User managment Session control Administration Transport layer MenuLogin Design Authorization system What the user doesnt see. What the user sees. WebsydianExpress provides all the orange boxes ready to use. Nomeco: 90 % of what we needed

Internal SOA in your 2E application How can you start using the SOA mindset in your 2E application and where does WebsydianExpress come into the picture? –Keep your application clean –Ensure the interface contract –Send files in the format of your choice to match receivers needs

Biography Søren Madsen Soft Design A/S Chief Consultant –Worked with CA 2E since 1990 –CA Plex since 1996 Speaker at: –CA WORLD and Plex/2E user conferences since 2004 –COMMON US since 2007

2E SOA and web services Customer case –Nomeco A/S A subsidiary to Tamro Ltd. In turn a subsidiary of the German group Phoenix, the world's fifth largest pharmaceutical wholesaler –155 distribution centers in 23 countries –51,500 customers in the wholesale sector –100,000 different products on the shelves –650 customers in pre-wholesale –20,253 employees in Europe –19.89 billion EUR turnover

2E SOA and web services Nomeco –The largest pharmaceutical wholesaler in Denmark –Approx. 70% of the Danish market –Core application is based on the iSeries in a 2E environment. (Astra400) –Approx. 30 people maintain the environment –External access by Java, hand-coded etc.

Traditional Development Every circle is an application area Read item In one of our applications 109 functions are called => expensive maintenance and vulnerable operation

SOA – Separate application areas

SOA – Separate application areas with services 2E

SOA – Java programs feed of the 2E services 2E Http Requests Java programs and hand written code

We suggest… Let those who know the business logic code the services for the Java guys - obtain separation of logic and use. Let the Java guys retrieve the data via Http requests. –The http requests are received by WebsydianExpress and returned in the desired format: HTML XML Comma separated file Json (JavaScript Object Notation) …

Loose coupling 2E environment Java environment

New file layout The Java program is not effected by changes The interface remains unchanged via the template 2E environment Java environment

The response from WebsydianExpress remains unchanged after changes to the file. The response is determined by the template layout and not a change in the parameter. Compilation and test are performed in the 2E model Ordinary compilation and impact analysis in the 2E environment.

Basic technics of Websydian for 2E

How do we create a page? Two things are needed: –A program We will use 2E to develop this program. –A HTML template with the layout required We will use the Page Modeler in WebsydianExpress to create this template and some hand written templates. First, what the end user will see ….

This is the record in the database, and this resembles a DSPRCD function.

This is an HTML template. When the program executes, the replacement markers like /(DMSTAT) will be substituted by the actual data. You can think of this as the Screen design for a web function. This HTML template can be edited by any HTML editing tool.

Templates can be created in the Admin Interface or by hand.

Development In the 2E model we are looking at the functions for the Show Customer

This is the function that will build the page. This function has been built from a supplied 2E *Template function

The AD of the function. The comments and sequences are filled from the 2E *Template function Set a variable to the name of the HTML template we want to use. Remember this is the name of the HTML template we looked at previously.

We will zoom into this sequence and see how the fields are placed nto the page.

First fetch the DB values using a standard RTVOBJ Then assign the values to the page using an API supplied by Websydian

Remember in the HTML template, the replacement marker for the name was /(DMSTAT). This is the name of the HTML template. This name is passed into the function from the EXCEXTFUN we looked at first. This last parameter is technical – more information in the documentation. We set the name of the replacement marker of the HTML template. In this case, the State will be replaced into the marker /(DMSTAT). This is the actual value we are passing. We are passing the WRK field that was output from the RTVOBJ.

We are now done, and by calling the WritePage function the page with the data we have read will be sent to the browser. We take a look at the parameters.

Only parameter needed is the name of the HTML template.

Done Now the Show Customer will be displayed. Only about 15 lines of AD required. But how about those XML,CVS,JSON …….

Templates can be used in many formats

This is an XML template. When the program executes, the replacement markers like /(DMSTAT) will be substituted by the actual data.

This is the same 2E program now with a new HTML template in order to show how this will look to the end user.

OR……

This is a CSV template. When the program executes, the replacement markers like /(DMSTAT) will be substituted by the actual data.

This is a JSON template. When the program executes, the replacement markers like /(DMSTAT) will be substituted by the actual data.

In the WebsydianExpress environment a template equals a presentation. To each program it is possible to assign several presentations. Presentations are selected for each menu point. That means that if you create a series of menu points one for each format (HTML, XML, CVS, JSON ….), it is possible to assign the relevant presentation.

In order to make it useful outside the WE environment –Session, Signing, Menu points………

We use Deep Links. –A way of calling WE functions in an easy way from outside the WE environment

Create 4 menu points that nobody has access to –Done using roles (Authorization) Create 4 corresponding Aliases (used by Deep Links) –In this case XMLDEMO=HTML XMLDEMO1 =XML XMLDEMO2=CVS XMLDEMO3=JSON

Call using HTTP client – XMLDEMO1&WSCONTEXT=N&DMNMBR=3 In this example we are using XMLDEMO1 Alias = XML

Call using HTTP client – XMLDEMO1&WSCONTEXT=N&DMNMBR=3 Use as many parms as you want. In this case just the customer number.

Provide web services via WebsydianExpress Demo

Summary You can start your internal SOA keeping your interfaces clean by separating logic and use with services. WebsydianExpress for 2E supplies the transport layer and framework for providing web services for others to consume from your 2E application.

Questions