sun one developer platform – walto july 2002 1 your name your job function your work organization...

44
Sun ONE Developer Platform – Walto July 2002 1 Your Name Your Job Function Your Work Organization PRESENTATION TITLE This box provides space for call to action text, URLs, or any itecting Sophisticated Portals with Su Walt O'Maley Sun ONE Platform Specialist

Post on 22-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Sun ONE Developer Platform – Walto July 2002 1

Your Name

Your Job Function

Your Work Organization

PRESENTATION TITLE

This box provides space for call to action text, URLs, or any relevant info

Architecting Sophisticated Portals with Sun ONE

Walt O'Maley

Sun ONE Platform Specialist

1

Speaker's Qualifications

• Responsible for product planning and technology evangelism at Sun for ten years on infrastructure products– Solaris

– Network Management

– Network Security

– Sun ONE Portal Server

– Sun ONE Developer Platform

1

Overall Presentation Goal

Cover the key issues Cover the key issues developers face in large developers face in large portal deployments portal deployments

NEED A WEB PLATFORM NEED A WEB PLATFORM NOT JUST A PORTAL NOT JUST A PORTAL SERVERSERVER

1

Sun ONE Architecture

Linux Windows Solaris

Sun ONEApplicationFramework

Sun ONEApplication

Server 7.0 SE

Java WebServices

Pack

Sun ONE Directory Server:Access Management Edition 5.1

Sun ONE Portal Server 6.0

Inte

grat

ed F

orte

Too

ls

Sun

ON

E I

nteg

ratio

n S

erve

r

ServiceServiceDeliveryDelivery

PortalPortalServerServer

PlatformPlatform

Identity and PolicyIdentity and PolicyIdentity ServerIdentity Server

ServiceServiceContainerContainer

ApplicationApplicationServerServer

ServiceServiceIntegrationIntegration

Application andApplication andIntegrationIntegration

ServerServer

Service Creation, Assembly, and Service Creation, Assembly, and DeploymentDeployment

Studio EEStudio EEApplicationApplicationFrameworkFramework

ConnectorConnectorBuilderBuilder

1

Presentation Agenda

• Services that need to be provided

• Policy required to pull it all together

• Rapid development of new services

• EIS Integration

• Open platform requirement

1

Services-on-Demand

• Web content tailored by role– May want employees and partners to access

intranet resources while enforcing access policy

• Web application– Need to be able to quickly develop new

applications using current business processes

• Web services– Need to be able to gracefully leverage web

services as well as web applications

1

Web Services

Tool UDDIRegistry

WSDLdefinition

XML /SOAP

Description of

Service

ApplicationService

XML /

SOAP

XML overSOAP/ebXML/JMS

Services“Yellow Pages”Static

lookup

Dynamiclookup

Components

LegacySyste

m

SOAP/XMLwrapper

- or -

SOAP/XML wrappers

Points to Points to URIURI

Description of

Service’s Interfaces

1

Services

Rich Clients

MIDP Devices

Browsers

HTML/XML

SOAP

XHTML/WML

J2EE Server—JSP/Servlet/EJB

SOAP

Existing Apps

JMSConnectors

JSPJSP

EJBEJB

SOAPDBMS

JDBCJDBC

RepositoryJAXR

DBMS

J2EE in the Containers

Service IntegrationService Delivery

,

1

Services-on-Demand

• Java client to wireless devices

• Direct access to legacy systems– In many of our successful deployments, users

needed direct access to legacy systems

– Access from rich client or browser

• Define which services are needed

• Portal Server should cover all the above

1

Policy

• User groups requirements will effect the architecture

• Authentication– One size does not fit all

– Faculty - strong level > password

– Graduate Students – medium level = password with policy but careful with available content

– Public – weak level – self-enrollment

1

Policy• Access policy should tie user to roles

– Faculty

• Define generic services for all employees

• Add specific services by role for key groups and roles but keep it simple

– Students

• Limited access to intranet

– Public

• Public information only

– Virtual Teams tying faculty across multiple universities as well as corporate/gov't sponsers

1

Sun ONE Portal Server• Identity Management Enabled

– Tailor services by user roles

• Aggregate web and non-web resources

– Intranet surfing

– New Secure Search

– Heterogeneous file access

– Legacy application access via VPN (on the fly)

• Multi-Application Server and Platforms

• Multiple device support

1

Sun ONE Portal ServerUser Experience Enhancements

Acme Organization

Manager Sales Father

John Doe

XML display XML display profilesprofiles

Multiple Multiple display display profiles profiles

dynamicaldynamically merged ly merged

at at runtimeruntime

Multiple roles Multiple roles supportsupport

Completely Completely customizable JSP customizable JSP desktopdesktop

Sun ONE Developer Platform – Walto July 2002 1

Extensibility

• Providers– XML / XSLT - XSL transformation of an XML document– Web Services Provider– RSS - RSS (XSL) transformation to an XML document– JSP - Java Server Page– URL - Data read from a URL

• Provider API

Sun ONE Developer Platform – Walto July 2002 1

Portal Architecture

Sun ONE Web Server, Sun ONE Application Server

Sun ONE Identity Server

Messaging and Transport

UtilityServices

LoggingProfileSession

Auth

Apps

NetMail

AdminConsole

Content Delivery and Presentation

TemplateManager

DisplayProfile

Desktop Renderer (Servlet and JSP)

AdminModule

Search

Search Engine

andRobots

Providers

PolicyAgent

1

Sun ONE Identity Server• User Management

– Define organizations, roles, groups, users

– Delegate user account mgmt

• Policy

– Role based access control to web resources, including web servers (IIS, Apache, iWS)

• Web SSO

• Services

– Developer can define common policy (privleges and attributes) for a web application or service in XML file

Sun ONE Developer Platform – Walto July 2002 1

Roles-Based Access

IT Mgr

Employee

HR Manager

IT Services

General employee

HR Director

• Users can have one or more roles, privileges are aggregated

• Roles allow/deny access to Services or Service features

• Conflict model handles Role permission collisions – deny has precedence over allow

Intranet Services

HR DirectorHR Services

Sun ONE Developer Platform – Walto July 2002 1

Authentication Methods

• Supports the following authentication methods out of the box:

1. UserID/password (LDAP)

2. Digital Certificates

3. RADIUS

4. SafeWord

5. Unix

6. Anonymous

● Public SPI allows additional authentication methods to be added

Sun ONE Developer Platform – Walto July 2002 1

Administration - User Management

• Centralized administration of any user’s identity profile

• Unlimited, multi-level delegated administration

• Delegate management to employees, partners, or customers● Create, modify, or delete users, add/remove user roles, reset

passwords

• Delegation rights are configurable (e.g. a set of users, a specific application)

• User self-registration/self-service (e.g. passwords, contact information)

• CLI for all User Management GUI features

Sun ONE Developer Platform – Walto July 2002 1

Administration – Policy & Services

• Policy

• Centralized administration for all protected resources

• Multi-level delegated administration

• Service

● Manage service level configuration data stored in the Directory

● Configuration data spans multiple server instances that provide a service (e.g. disk quota for email, channel list for portals)

1

Rapid Application Development

• Need to have separate roles that leverage different skillsets

• Java Component Developer– Focuses on business logic

– Servlets, EJBs, J2CA connectors, DBMS, etc

– Powerful but need to understand J2EE APIs

– Studio Enterprise Edition IDE used

1

Rapid Application Development

• Application Developer– Focuses primarily on the presentation logic

– Develop interactive form-based applications delivered over web

– Understand business problem, may not be Java expert

– Used to a page-centric development approach

– Application Framework and Studio EE are used

1

Sun ONE Application Framework

• Decouples presentation, user interaction, and models for extensibility, scalability, and maintainability– Java Center best design practices uses MVC.

• Model– Application logic for business process (web

service or EJB)

– Access to enterprise resources (DBMS or EIS)

– Able to “consume” any Java object or web service including .NET service

1

• View– Creates the output page to client device

– View is hierarchy of view components

– Display fields tied to models to get model state (e.g. Query info from DBMS model)

– Models and Views are agnostic

• Multiple Views using same Models (e.g different languages or devices)

• Reuse business processes (Models) in other applications

Sun ONE Application Framework

1

• Controller – Controls application behavior such as updating

models or selecting views depending on user inputs.

– Application developer adds procedural code to process user inputs (e.g. Update database with user input once hit submit)

– Controller deals with session and security issues such as user authentication.

Sun ONE Application Framework

1

Model-View-Controller Pattern

Controller

Models

Views

EventMethod Invocation

View Selection

HTTP Get/Post

StateChange

StateQuery Change

Notification

Client DeviceHTML

Response

1

Sun ONE Studio• Develop and Deploy J2EE 1.3 applications

– EJB 2.0 incl. MDBs, J2CA, JSP 1.2, Servlet 2.3

• Easy Database access

– Easily connect to DBMS and create DBMS forms

• Develop and publish web services

– JAX* support

– Wrapper EJB and Servlet methods as web service

• XML Support – create and edit XML files

1

Sun ONE Studio• Wizards and project management

• Advanced debugger

• Version Control

• Sun ONE Application Server Integration

– Deploy applications, start, stop, debug, etc

• Legacy Integration

– Native connector architecture to bind C/C++ applications to web applications or web services

1

Integration with Sun ONE

1

Loosely-Coupled Connections

• Asynchronous communication between applications for – long-lived transactions

– processes with manual steps

• Standards– JMS (Java Messaging Service)

– MDB (Message Driven Beans)

– SOAP (Simple Object Access Protocol)

1

• Three queue types

– Single, Failover and Round-Robin

• SOAP support

• Message encryption (via SSL)

• Multiple broker support (for scalability)

• HTTP connections

• JDBC based pluggable persistence

• Auto-reconnection of failed connections

Sun ONE Message QueueBeyond JMS

1

Tightly-Coupled Connections

• J2EE CA is standard approach to tightly couple EIS to Web application or Web service

• Request/response paradigm for web applications using Common Client Interface

• Service Provider Interface– Connection Management

– Transaction Management

– Security

1

Sun ONE Connector Builder• EIS API typically provides

– Access interfaces to the EIS

– Management interfaces for security, transactions, and connection pooling

• Web applications access EIS– Through J2EE CA Common Client Interface

(CCI) or through SOAP without concern for tranasactions, pooling, etc.

• Application server can manage EIS transactions, security, and pooling

1

Sun ONE Connector Builder

Connectivity via J2EE CA & SOAP

1

Point-to-Point Integration

• Write stateful session beans that implement a business process and in turn integrate each EIS system either through tightly coupled or loosely coupled approaches

• Works if the process is fairly straightforward and relatively static

1

Integration Nightmare

1

Sun ONE Integration Server

1

Business Process Engine

● Conditional logic, sub-processes● Timers (deadline and elapsed)● Exception handling (e.g., application

failure)● Real-time and long-running process

support

1

Sun ONE Developer Platform

Linux Windows Solaris

Sun ONEApplicationFramework

Sun ONEApplication

Server 7.0 SE

Java WebServices

Pack

Sun ONE Directory Server:Access Management Edition 5.1

Sun ONE Portal Server 6.0

Inte

grat

ed F

orte

Too

ls

Sun

ON

E I

nteg

ratio

n S

erve

r

ServiceServiceDeliveryDelivery

PortalPortalServerServer

PlatformPlatform

Identity and PolicyIdentity and PolicyIdentity ServerIdentity Server

ServiceServiceContainerContainer

ApplicationApplicationServerServer

ServiceServiceIntegrationIntegration

Application andApplication andIntegrationIntegration

ServerServer

Service Creation, Assembly, and Service Creation, Assembly, and DeploymentDeployment

Studio EEStudio EEApplicationApplicationFrameworkFramework

ConnectorConnectorBuilderBuilder

1

• Complete Platform– Web content, webapplications, web services, and

EIS integration

– The tool for Proof of Concepts

• Tools to allow development by roles– Studio EE, App Framework, Connector Builder

– Sample Applications

• Complete deployment infrastructure– Portal, Identity, Application, Integration servers

– Integrated with Install utility yet Integratable

Sun ONE Developer Platform

1

Sun ONE Application Server Architecture

EJB Container

Web Container

Other J2EE

Web Svcs JDBC JCA

JMS Provider(Sun ONE

MQ)

HTTP

Web Infrastructure

OperationsManagement& Monitoring

High Availability

Clustering &Load

Balancing

Tru

sted

Web

Serv

ices

Web

Serv

er

Pro

xy

Portal Integration

AppserverCore “PlatformEdition” (iAS 7)

Value-AddPacks

1

• Knowledge base with proactive alerts

• Includes “Experts” and “Enthusiasts”

• Site has grown to over 14,000 registered users since October

• http://softwareforum.sun.com

Sun ONE Software Forum

1

• Focus first on identity

• Next focus on common portal framework

• Develop a strategy that leverages legacy, web applications & web services.

• Define an open standards web services platform for your organization

Sun ONE Best Practices

Sun ONE Developer Platform – Walto July 2002 1

Your Name

Your Job Function

Your Work Organization

PRESENTATION TITLE

This box provides space for call to action text, URLs, or any relevant info

Architecting Sophisticated Portals with Sun ONE

Walt O'Maley

Sun ONE Platform Specialist

[email protected]