Bea Workshop Review

  • Uploaded by: Chattanooga Java Users Group
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Bea Workshop Review as PDF for free.

More details

  • Words: 2,149
  • Pages: 38
Introducing BEA WebLogic Workshop Wes Hewatt Systems Engineer

Dev2dev Developer User Groups Program Overview Melissa Chaika, Developer Marketing Manager Marc Duclos, Southern Region Field Marketing Manager

Developer User Groups Membership Overview •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• • •

Membership is open to all BEA software users or interested parties living or working in the group’s geographical area The group provides a forum for networking, education and support on BEA technologies Benefits: – Gain exclusive access to developer-focused information and resources – Learn about technologies before they’re released – Receive additional technical support – Hear from industry leaders and BEA experts on topics of interest – Receive discounts on BEA-related books, magazines and other publications – Get discounts on BEA-related developer events and training sessions – Network with other BEA developers in your community!

Developer User Groups Leadership requirements •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••



Group will be independently run, though with support from BEA Field Marketing and Developer Marketing



Groups will be run by volunteer boards, at least half of whom must be BEA users or customers



One leader or president will serve as primary liaison to local field marketing representative. Group leader must possess: • A working knowledge of BEA and its technologies • A knowledge of and commitment to the developer community

Developer User Groups Visibility and Support •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••





Visibility – Opportunities for your User Group to network with other groups at BEA eWorld and other events. – Invitations (as appropriate) to speak at and/or provide content for local and national BEA events. – Help in promoting your User Group to other developers Group support – Promotion of all group activities, including events, meetings and workshops on the BEA Dev2Dev site, with a reach of over 400,000 BEA developers. Information will include details on how to join your group. – BEA will help attract local developers—will help build local database and will assist in disseminating email invitations – Some funding available for meeting spaces, etc

Agenda •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• • • •

What is BEA WebLogic Workshop? What are Enterprise Class Web Services? Workshop Key Concepts Demo

What is BEA WebLogic Workshop? •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• BEA WebLogic Workshop is a new integrated development framework for the BEA WebLogic Platform – WebLogic Workshop makes it incredibly simple for application developers to build enterprise class web services – WebLogic Workshop enables teams of developers with different skill sets to utilize the proven reliability and scalability of BEA WebLogic Server

Workshop Makes it Simple •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Building applications on the J2EE platform is hard – Highly object oriented – Need to understand the J2EE component model just to build simple applications – Many rich and complex APIs – overkill for most common cases – All the low level details are exposed – Deploying applications is tedious and time consuming

• Workshop puts the focus on application logic – – – –

Visual metaphor for building web services Declarative, annotated code exposes web service functionality Server-side controls encapsulate J2EE APIs Plumbing code managed by runtime framework

Enterprise Class Web Services •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• What is a Web Service? – A software component or application exposed through standard XML and Internet protocols

• Three key standards – Simple Object Access Protocol (SOAP) – Web Services Definition Language (WSDL) – Universal Description, Discovery, and Integration (UDDI)

• The “stock quote” example

SOAP •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Simple Object Access Protocol (SOAP):

– is an XML-based protocol for sending documents and/or invoking remote objects – is embedded in HTTP, SMTP, FTP – uses and envelope format with a header / body AASOAP SOAPSnippet Snippet(abbreviated (abbreviatedfor forreadability): readability): POST POST /StockQuote /StockQuote Host: Host: www.stockquoteserver.com www.stockquoteserver.com Content-Type: Content-Type: text/xml; text/xml; charset="utf-8" charset="utf-8" SOAPAction: "Some-URI" SOAPAction: "Some-URI"

<SOAP-ENV:Envelope <SOAP-ENV:Envelope <SOAP-ENV:Body> <SOAP-ENV:Body> <m:GetLastTradePrice <m:GetLastTradePrice xmlns:m="Some-URI"> xmlns:m="Some-URI"> <symbol>DIS <symbol>DIS

WSDL •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Web Services Description Language (WSDL): – defines an XML grammar for describing network services • • • • •

the messages that they accept the format of the messages and the content they contain the conversational nature of an “endpoint” where the web service is hosted the protocol the web service is using

– serves as a recipe for automating the details in application communication

What is UDDI Anyway? •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Universal Description, Discovery and Integration: – is a group of web-based registries that expose information about a business – can be thought of as DNS for B2B – has a series of Operator Sites that offer “top-level” global service management – answers the “who, what, where, and how” of B2B services

Enterprise Class Web Services •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• The common understanding of web services is limited – “Function calls over the internet” • Simple, synchronous, request-response model

• This is interesting, but only the tip of the iceberg

Enterprise Class Web Services •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• The potential is to solve previously un-addressed integration problems in the enterprise • Requirements – – – –

Standards based Business level integration Flexible architecture designed for extensibility and change Accommodate internal and external integration

Three Key Principles •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• There are three key principles to building Enterprise Web Services – Loosely coupled • Interfaces change over time

– Coarse Grained • Integration at the business document level

– Asynchronous • Participate in conversations

Enterprise Class Web Services •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Web Services can support enterprise architectures • You need the right programming model to make it easy to build applications this way – Many moving parts at the standards layer • SOAP, WSDL, UDDI

– Things to consider • Loose coupling, coarse grained, asynchronous

• You need a reliable, available, scalable platform that lets you deploy these web services in the enterprise – – – –

Transactions Message queues Caching Connection pooling

BEA WebLogic Workshop IDE •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Java development framework for Web Services – – – –

Visual representation of web service Intuitive UI based on controls with properties Debugger Creates a JWS file that defines the business logic of a Web Service

JWS Files •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Java Web Service (JWS) files – Standard Java class definitions with additional annotations in the JavaDoc syntax – Declaratively specify additional functionality • Asynchrony, message queuing, protocols, XML/Java mapping

– Working actively with the Java community to standardize JWS format – JSR 181 /** * @jws:operation * @jws:conversation phase=“start” * @jws:message-buffer enable=“true” */ public void getQuote(int age, String gender, String ssn, int policyAmount)

BEA WebLogic Workshop Runtime Framework •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Reads the JWS files and generates the Web Service – JSP like model – Automatically handles deployment – Automatically generates test environment, creates WSDL description, Java proxy – Standard EJB/J2EE “under the hood”

• JWS annotations are where the tool and framework meet

Workshop Architecture •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Workshop Workshop Run-time Run-timeFramework Framework JMS

EJBs

JDBC

JWS JWSFile File Java Javacode code Annotation Annotation

Design Time

BEA BEAWebLogic WebLogic Server Server Run-Time

BEA WebLogic Workshop Value •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• •

A standard Java environment that allows developers of all skill sets to take advantage of J2EE A smooth ramp from application developers to enterprise architects – Reduce pain of rebuilding applications when they “hit the wall” – Enable non-Java experts to easily utilize Java components and resources

• •

An approach and programming model that makes it easy to fully leverage the power of Web Services A way to maximize the development organization – One standard platform (everyone can play on J2EE) – Enables developers to focus on skill appropriate tasks – Reduce support, training, operations burden on IT

Demo •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Policy Quotation Web Service

Request Quote

Return Quote

Get Health Records Health Records Service

Agent

Get Life Expectancy

Life Expectancy DB

Get Policy Price

Pricing Engine

Questions?

Cajun Architecture Drilldown

JWS: Java Web Service •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• JWS files are standard Java code with Cajun Javadoc extensions • Javadoc is an unobtrusive way to extend Java without changing the language – Simple – Rich in semantic meaning (use a message buffer, make this conversational) – Tells the IDE what to display – Tells the runtime what is needed to implement and run

• Working to make JWS a J2EE standard – JSR 181

The Power of JWS •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

/** ** @jws:operation @jws:operation ** @jws:conversation phase=“start” @jws:conversation phase=“start” @jws:message-buffer enable=“true” ** @jws:message-buffer enable=“true” */ public void getQuote(int age, String gender, String ssn, int policyAmount)

Use the Power of J2EE Manage Conversations Easily Create Web Services • Create an Object • Create a Bean • SOAP Marshalling • Read / Write WSDL • XML Parsing • …All in One Tool!

• Manage State (Entity Beans) • Seamless Message Correlation • Connect to Databases (JDBC)

• Create Scaleable Web Services • Easily Leverage JNDI, JMS

80 Lines 50 Lines 80 Lines

JWS makes Web Services Easy •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Built-in functionality for web services includes – Easy access to the Data: Javadoc lets you work with the shape of your XML contract precisely. They give you support for WSDL, SOAP, XML binding without forcing you to go to a separate metadata tool. – Asynchronous Conversations: Javadocs let you build conversational applications easily. They give you support for conversation IDs for persistence, polling and callbacks, and they give you the ability to use reliable queuing without forcing you to program in a different framework.

Cajun Runtime Framework •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Run time framework picks up JWS files and makes them work – – – –

Write and Run deployment (like JSPs) Generates EJBs, creates message queues Controls are instantiated, and control callbacks hooked up Automatic test view generation

• Many details handled by framework libraries – XML/SOAP/WSDL manipulation, XML maps, etc.

• JWS files renamed to .java files and compiled • Standard deployed beans call into business logic

Cajun Runtime Framework •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Generated code depends on sophistication of service – Need state, generate an EJB… – Need queues, generate MDB…

Cajun Runtime Framework •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• In general, for each JWS Workshop generates… • Stateless session bean handles web service dispatch – Takes incoming messages (via http, JMS, etc.) and routes them to appropriate method in JWS

• Entity bean manages web service state – In conversational web services, any member variables are persisted via an entity bean

• Single message queue is created to support – Message buffers, timer controls

• Message driven bean to support message buffers

Cajun Runtime Framework •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• The runtime framework also handles many issues not directly related to deploying a web service – Debugging (remote debugging against deployed web service) – Conversion from JWS to CTRL or WSDL and visa versa – Providing design time errors to the tool – Provides default map definition for map editor – …Anything that has to do with manipulating JWS files

Cajun Controls •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• JWS files let you access Cajun controls (defined in CTRL files) – Easy way of getting at other resources in an enterprise (databases, applications, services, EJBs, queues, etc.) – Simplifies (for the 80% case) with properties and methods

• CTRL files are extensible – just a Java interface – Use javadoc to edit Java/XML binding – Use javadoc to customize sql queries to a DB

• Opportunities for third parties to build controls

Cajun Controls •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Controls submerge a lot of typical plumbing – Creation, customization, and location is simplified: use a control and write a line of javadoc, and the field is filled in. – Callback hookup is simplified: use a naming convention; when a control is instantiated, its callbacks are hooked up.

XML Data •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Problem: Programming with XML directly is too clumsy • Prior approach: Automatic data binding – – – –

SOAP – “RPC via XML” XML Schema – “XML data types” WSDL – “IDL for XML data” JAXB – “Java-XML type serialization”

• But… Where is the data? – The RPC trap: hiding the data means exposing the system implementation, and results in fragile integration. – Just the opposite of the loose coupling that is required!

Cajun XML Maps to the rescue •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Cajun XML maps and XML script let you engineer the data explicitly for robustness, but leave as many binding details as you want to a runtime engine for convenience. /** @input xml:: * * * <description>{item.desc} * {item.qty} * * :: */ void acceptOrder(LineItem[] items);

Cajun XML Maps •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Designed for ease of use – Template oriented approach, not based on XSLT or schema

• But powerful as well – XML Script – Ability to call out into java script to generate complex data types or XML structures – Perform data transformation – Perform complex structural transformation

Summary: Key Challenges Tackled by Cajun •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

• Many developers struggle with J2EE development. • Complex APIs like JNDI, JMS, etc., are overkill for some development problems. • High-end developers are often called on to “rescue” applications when they reach a wall. • No programming model or framework for easily constructing web services that are: – Asynchronous – loosely-coupled – coarse-grained

Questions?

Related Documents

Bea Workshop Review
December 2019 10
Bea Workshop Studio Ds
October 2019 16
Bea Materai
December 2019 54
Bea Meterai
June 2020 13
Colacarb Bea
April 2020 12
Workshop
October 2019 56

More Documents from ""