sun one developer platform – walto july 2002 1 your name your job function your work organization...
Post on 22-Dec-2015
212 views
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
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
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
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