400 likes | 559 Views
E211 Using Web Services and Mobile Devices to Monitor Adaptive Server Enterprise Performance. John Arnott Principal Consultant Progressive Database Systems Jarnott@PDbS.com. About Progressive Database Systems. Specializes in Database Systems Monitoring Use proprietary tools Built in Java
E N D
E211 Using Web Services and Mobile Devices to Monitor Adaptive Server Enterprise Performance • John Arnott • Principal Consultant • Progressive Database Systems • Jarnott@PDbS.com
About Progressive Database Systems Specializes in Database Systems Monitoring Use proprietary tools • Built in Java • Web Services Based • Heterogeneous platforms • Operating Systems / Database Vendors • Solaris, HPUX, AIX, Linux, Win2K • Sybase ASE, DB2, Oracle, SQL Server
Why Remote Database Monitoring • Database Centric Era • Proliferation of Servers • IT Budgets Constrained • High Expectations of DBAs • Mobile Society
Old Methods of Monitoring • UNIX scripts • Send email • Difficult to scale / maintain • Lacks clean interface
What ASE Features Require Monitoring • Cache Utilization • CPU Utilization • Disk Space • Errorlog • Uptime Tracking
What Are Web Services • Web Services is really a misnomer. I prefer to think of it as a Web of Services. • Any component that can be integrated into other systems via the exchange of XML documents sent over Inter/intranet protocols
Why Use Web Services • Research reveals Web Services technology and service-oriented architectures have moved through the early adopter phase and will shift to a more mainstream phase by early 2003. • "Because of the promise of the technology and the speed of its development, companies that see a potential business case for Web Services should already be experimenting with Web Services to build essential knowledge, and prepare a position against potential competitors." - Giga Vice President Mike Gilpin, quoted by XML.ORG
Distributed Components Again? • Previous component visions: • CORBA: Everybody but Microsoft • DCOM: Nobody but Microsoft • What's new? A revolutionary agreement • All the major players (IBM, Microsoft, Sun, BEA, Sybase, Oracle, . . .) • Agree to a common set of standards: simple, text-based protocol • Revolutionary attitude: • Cooperation, support
XML—The Foundation • “Easy-to-read” tagged language • Self-describing data-neutral format XSL XML—Extensible Markup Language XSLT fpML ebML <?xml version="1.0" standalone="yes"?> <conversation> <greeting>Hello, world!</greeting> <opening>How are you doing?</opening> </conversation> TAGS
Standard Protocol (HTTP, SMTP, etc.) Protocol Headers SOAP Envelope <Envelope> encloses payload SOAP Header <Header> encloses headers Headers Individual headers SOAP Body <Body> contains SOAP Message Name & Data Message Name & Data XML Encoded SOAP Message Name & Data SOAP- Simple Object Access Protocol True send-and-reply over inter/intranet SOAP Message The complete SOAP Message
<types> Encapsulates schema definitions of communication types <message> Describes the contents of requests and responses <portType> Defines a collection of operations as message sequences <binding> Defines a particular portType implementation for a given protocol, e.g. SOAP <service> Defines a collection of bindings that are made available at a given “endpoint” WSDL - Web Services Description Language Web Service "contract"—what service, how to use it Descriptions The complete interface specification
Application Data Application Application Application Application Application Application Application Application Data Abstraction XML Web Service Data Ease of Maintenance • Single application with useful results • Data was useful for additional applications • Additional applications tied in directly • Eventually over 90 additional applications Application Application Application Application Application Application Application Data • Create a Web Service intermediary • Applications switch to use Web Service • Get results in XML • Database can change as needed
Statistics Monitor FTP Scripts Scripts Scripts Data Data Data • Use Web Services to collect statistics • Monitor interacts directly with web services • FTP latency eliminated • Timely response to problems Monitor Web Services Web Services Web Services Data Data Data Application Monitoring • Multiple databases on multiple platforms • Multiple scripts to collect statistics • Statistics FTP’d to monitoring application
Wireless and Portals • Confluence of applications, content (knowledge management) and business processes • Most portal providers’ technology is Java-based (J2EE, servlets, JSP) • WSRP—Web Services for Remote Portals—language independent component model for web services in portals • WSIA—Web Services for Interactive Applications, SOAP, WSDL • Context info: user profile, delivery device, target markup language • Still only presentation interoperability • Need to custom build for wireless presentation
Wireless Applications: Guidelines • Thin v Thick client architectures • WAP • .NET Compact Framework, J2ME • Network efficiency depends on application design within a given architecture • Simple thin client • Simple thick client • Thin client with cache • Thick client with lazy fetch
Wireless Applications: Guidelines (cont’d) • Key criteria • Patterns of usage by users of application • Need for availability • Ease of deployment
Security Overview • Web Services security must be built in—it must leverage, not replace existing security infrastructure and investments • Security must be treated as a “first class” architectural entity • Security must be end-to-end • Origin to fulfillment • Across process tiers and domains • Security is considered a part of the Web Service interface of each exposed component
Security Requirements • Communication protocol requirements • Authentication—verify identity of provider/consumer • Authorization/access control—“paid customers only” • Session-level confidentiality—eavesdropping prevention • End-to-end confidentiality—parts exposed but not all • Session-level integrity—request/service safe in transit • End-to-end integrity—parts exposed but not all • Non-repudiation of origin—can’t deny service was requested • Non-repudiation of receipt—can’t deny request was received • Replay prevention—can’t “cash a check” twice • Delegation—when a WS provider invokes another, which is consumer/provider, under which authority
Security Requirements (cont’d) • Provider implementation requirements • Firewall friendliness—HTTP/HTTPS used to get around firewalls, but that defeats why you have firewalls at all • Auditing/accountability—logs kept in case of breach, and to account for actions by authorized users • Availability—as per SLA, not vulnerable to DoS attacks • Assurance—WS implementation has not introduced vulnerabilities into enterprise systems/processes • Virus/Malware prevention—virus/malicious software can not infiltrate along with service requests • Internal controls—control what the WS implementation does, even at request of authorized user • Traceability—each transaction traceable across all tiers/domains, maintaining consistent security
Security: Best Practices • Identify all participants in a transaction based on a variety of authentication mechanisms • Establish a “user context” (combination of user identity and security-relevant attributes at each processing tier • Apply sophisticated authorization policies to these user contexts • Pass user context to other tiers/domains, establishing context for entire transaction—eliminating need to re-authorize • Perform audits end-to-end—each step of transaction and identities of participants • Maintain consistent security across diverse processing platforms • Provide flexibility in creation, authorization and transmission of user contexts
Security: Standards and Industry • Standards: • SSL (SOAP over HTTPS)–Enables confidentiality for message transport • XML-SIG–Enables message authentication and nonrepudiation • XML Encryption–Enables confidentiality for message lifetime • XKMS–XML Key Management Specification • SAML–Security Assertion Markup Language
Security: Standards and Industry (cont’d) • Products: • Oblix NetPoint Access XML • Identity XML • Netregrity TransactionMinder SAML • Quadrasis EASI Security Unifier
Infrastructure • Multi-layer network security • Performance (multiprocessor/clustering) • Load balancing (single/distributed) • Connectivity • Data architecture (SAN, mirrors, backup) • Total cost of ownership
Getting Started: Strategy • Identify Applications • Hubs—applications accessed by many others • Inflexible—applications requiring extensive effort to connect • Frequently modified • Define Scope and Functionality • Unit of work—component should be “atomic” • Commonly accessed—many systems will use it the same way • Frequency/degree of change—priority to stable API
Getting Started: Strategy (cont’d) • Expose Web Services Internally • Technical and security issues • Volume control • Build model of service architecture/application integration • Gain experience • Expose Web Services Externally • Trusted partners/known processes • End-to-end management—up/downstream • Security, service levels
Getting Started: Developers • Learn XML, Web Services and related technologies • XML Schemas, XSLT • SOAP, WSDL • Your industry specific vocabularies • Understand and internalize design and architecture implications • Understand and internalize reuse and component implications • Understand and internalize process and life cycle implications
Getting Started: IT • Train developers to use XML and Web Services • Deploy Web Services tools and environments • Begin Web Service-enabling internal applications • Insist vendors support XML and Web Services • Inventory your component library
Why Mobile Devices • DBA is rarely tethered to the desk • Issues happen at all hours (Even during Lunch) • Ubiquity of quality wireless devices • Why not?
Which Devices Consume Web Services • CE .NET Client • J2ME Client • Personal Java Applet • Pocket JAVA • Browser / ASP .NET • Pocket PC, Palm OS, WAP Phones
What If My Device Cannot Consume Web Services? • Any device that can browse the internet can be used • Create an Application Server tier that consumes web services and delivers pure HTML
Server Component • Methods • InsertEvent • InsertDiskSpace • InsertStatistic • GetEvent • GetDiskSpace • GetStatistic
Collection Component • Methods • GetStatistics – Invokes Server.InsertStatistic • GetDiskSpace – Invokes Server.InsertDiskSpace • GetErrors – Invokes Server.InsertEvent • ShutdownServer • StartServer
Tools Used • J2EE – java.Sun.com • GLUE – www.TheMindElectric.com • .NET – www.Microsoft.com
GLUE At A Glance • 15,000 Downloads since 8/01 • Very easy to use – “web services running in hours” • Robust and scalable with small footprint (0.5 MB) Servlets and Dynamic Server Pages Automatic Java/XML Mapping Full Support for Web Services Standards Easy Deployment J2EE Integration Integrated Security
GLUE – Ease of Use • GLUE is the simplest, fastest, most comprehensive Java platform for deploying and consuming web services • Publishing a web service requires only 1 line of code: “Registry.publish ( “exchange”, new Exchange () );” • “GLUE is…powerful voodoo (for) web services.” – Rick Ross, President of JavaLobby
Adoption of GLUE 100+ Global 500 Users + Adoption in Key Markets
Color PaletteTitle can go to two lines Please choose from this color palette when highlighting text or graphics. Arrow Styles