• Save
(How) Does VA Smalltalk fit into today's IT landscapes?
Upcoming SlideShare
Loading in...5
×
 

(How) Does VA Smalltalk fit into today's IT landscapes?

on

  • 2,557 views

This talk gives a brief overview of today's most imprtant IT Trends, from rich client and rich internet applications to Web Services. Joachim Tuchel shows how VA Smalltalk and it's existing and ...

This talk gives a brief overview of today's most imprtant IT Trends, from rich client and rich internet applications to Web Services. Joachim Tuchel shows how VA Smalltalk and it's existing and upcoming features help developers integrate new and existing VA Smalltalk applications into these architectures.
This presentation was given by Joachim Tuchel at the VA Smalltalk Forum Europe 2008 in Frankfurt am Main.

Statistics

Views

Total Views
2,557
Views on SlideShare
2,554
Embed Views
3

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 3

http://www.slideshare.net 2
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />

(How) Does VA Smalltalk fit into today's IT landscapes? (How) Does VA Smalltalk fit into today's IT landscapes? Presentation Transcript

  • VA Smalltalk 1
  • VA Smalltalk (How) Does it fit into today‘s corporate IT landscape? 1
  • Questions 2
  • Questions • What are the major trends in IT today? 2
  • Questions • What are the major trends in IT today? • How can you address these trends with VA Smalltalk? 2
  • IT Today 3
  • Today‘s IT Landscapes seen from 10.000 ft Inventory Management Oracle DB MQ Solaris General Ledger DB2 MVS Host sfer ran W ile T eb F Customer Relationship Se DB2 Management rvi MS c es Some other System SQL PC Fat Client on Citrix Server Server AP Web Server Ac tiv eX TP HT C++ Cobol, PL/1 ABAP PowerBuilder CORBA Smalltalk Java C VisualBasic CORBA .Net Call Center Agent MS Access Software Package Windows Fat Client 4
  • Today‘s IT Goals seen from 10.000 ft • Simplify and Save money • Consolidate on a few technologies • Databases, Middleware, Operating Systems, Development tools and technologies, Applications • Leverage existing knowledge and technologies 5
  • Smalltalk‘s niche • Some shops eliminated Smalltalk • In most shops Smalltalk has survived • Porting is hard and expensive • Some replacement projects failed • Business value over technology • New technologies adapted in new projects 6
  • Challenges for Smalltalk Projects • Continue to deliver business value • Integrate with new technologies • as a consumer or servant of data/functionality • Incorporate new technologies • to meet today‘s business needs • to integrate seamlessly into corporate IT 7
  • Today‘s Major IT Trends
  • Presentation trends 9
  • Presentation trends • Onto The Web • Web Applications & Portals 9
  • Presentation trends • Onto The Web • Web Applications & Portals • ...and Back to the Client • Rich Client Applications 9
  • Presentation trends • Onto The Web • Web Applications & Portals • ...and Back to the Client • Rich Client Applications • Mix the two: Rich Internet Applications 9
  • Integration trends • Make the whole zoo of applications and technologies work together • Share / Exchange Information • Integration of Applications • Enterprise Application Integration • Service-oriented Architectures 10
  • VA Smalltalk and presentation trends 11
  • Why onto the Web? • No client installation • Nice presentation • Global availability • Platform-neutral • Simple protocol: HTTP and friends 12
  • ...And why not? • Limited interaction / feedback • Insufficient for complex tasks • Save my Data on the web? • How to work offline? • No Platform features like drag/drop • Latency / performance 13
  • Rich Clients • Local GUI and logic • Consistent Look & Feel • Instant Feedback (Field Validation) • Integration with OLE/ActiveX etc. • Platform Drag & Drop • Snappier 14
  • Mix the two? Rich Internet Applications • Feel (almost) like local applications • Can be designed to look great • No installation, No Update installation • Cross-platform 15
  • Presentation Trends Web Applications 16
  • What does VA ST offer? • VA Web Connection • I‘d call it Legacy • Similar to Java Serfer Faces • Server Smalltalk • Complete HTTP Server Implementation • Java Servlets compatible API • Seaside in Version 8 17
  • Rich Internet Applications • Look & feel like rich clients • instant feedback, e.g. input validation • active elements (sliders etc.) • drag & drop in the browser • no page reload 18
  • Rich Internet Applications 19
  • Rich Internet Applications • Combination of two (or more) implementation technologies • Server: Java, Smalltalk, Ruby, Perl, PHP... • Client: JavaScript, ActionScript (Adobe) ... 19
  • Rich Internet Applications • Combination of two (or more) implementation technologies • Server: Java, Smalltalk, Ruby, Perl, PHP... • Client: JavaScript, ActionScript (Adobe) ... • Client runs in Browser or Plugin • Adobe AIR, Mozilla XUL, MS Silverlight 19
  • Rich Internet Applications • Combination of two (or more) implementation technologies • Server: Java, Smalltalk, Ruby, Perl, PHP... • Client: JavaScript, ActionScript (Adobe) ... • Client runs in Browser or Plugin • Adobe AIR, Mozilla XUL, MS Silverlight • Data transported as XML / HTML / 19
  • AJAX • XMLHttpRequest: „Mini“ - Requests to the server • Server returns only a portion of a page • JavaScript code manipulates DOM in the browser on the fly • JS-Frameworks like Prototype and Script.aculo.us make life easier 20
  • What does VA Smalltalk offer? • Server Smalltalk (SST) • HTTP/S Server • Java Servlets compliant API with SstHttpServletEngine and friends • Scalability (Multithreaded) • Reliability (~a decade in production) 21
  • What does VA Smalltalk offer? • XML support • SAX and DOM-Parser • Smalltalk - XML Mapping • Seaside in Version 8 • Seaside-Scriptaculous 22
  • Presentation Trends Rich Client Applications 23
  • What‘s new about Rich Clients? 24
  • What‘s new about Rich Clients? ... um ... well ... you know ... 24
  • Rich Client Platform ...Eclipse has a huge set of tools and frameworks to make developing and deploying Rich Clients easy • SWT and GUI Builder(s) • Toolbars and pluggable views • Event handling / MVC • Wizards and tools to build wizards 25
  • Rich Clients in VA ST VA Smalltalk has been in use to build Rich Clients for over a decade • Rapid GUI development • Component Architecture • Visual GUI Construction 26
  • VA Smalltalk for Rich Clients 27
  • What does VA ST offer? • Rich set of Parts • Widgets like Text field, Combobox etc. • Containers with direct editing • Tree Views with direct editing • Notebooks and Tab Controls (Windows) • Canvasses, Splitter 28
  • What does VA ST offer? • Ease of Development • Composition Editor or WindowBuilder • Abt Layer for wiring to the model • Portability • Windows, Linux, AIX, Solaris (Repackaging, XD) • Modern Look & Feel • Theming support for Windows XP / Vista 29
  • So what? Rich Client Applications are what we‘ve done for years 30
  • So what? a is ! kr lwhat we‘vem ta tfo done ll a ayears l Rich Client Applications are m tP S for A ien V l C h ic R 30
  • What‘s missing? • Look & Feel enhancements • Default look of containers (OS/2-ish) • Automatic native look • Portable Notebook Part vs. Tab Control • Platform default font handling 31
  • What‘s missing? • New Parts • Pluggable Toolbars (Tear-off as palette window) • Ribbons • Details on/off • Container Improvements (Sorting Columns, direct editing, L&F) 32
  • What‘s missing? • „Smalltalk Web Start“ • built into VM or image startup sequence • zero deployment effort • Feasible on your own - standard implementation would be better • Installation package tools 33
  • What‘s missing? • New Platforms • Windows CE / Mobile • Mac OS X (iPhone?) 34
  • VA Smalltalk Integration 35
  • Integrate a VA ST Web Application? • Most Web Applications aren‘t monolithic • Many small web apps interoperating • Integration points via http, xml: • passing data in URL or http body • transferring data as XML documents • web services 36
  • Integrate a VA ST Web Application? • VA ST is just another web server • Talks to the others via HTTP/XML ... • Look & Feel identical to others • it‘s just html, css and JavaScript • Reuse existing CSS / HTML fragments • This is the end to the discussion about preferred technology or not! It‘s the same! 37
  • Integration of Web Servers Images Backend Workflow CSS Service Service JS-Scripts Web Web Web Web Web Web Web Web Web Server Server Server Server Server Server Server Server Server (Java) (Java) (PHP,...) (Smalltalk) (Java) (PHP,...) (Java) (Smalltalk) (Smalltalk) 38
  • Integration Trends Web Services 39
  • Web Services • Uses HTTP/S POST for transport • in theory uses any transport protocol • XML Messages • SOAP-Envelopes • Namespaces • Many standards / schemas available 40
  • Web Services • W3C Standard • Huge set of domain/industry specific standards (WS-*) • Large selection of tools and vendors 41
  • What does VA ST offer? • Supported by VA Smalltalk since V 5.5 • Based on Server Smalltalk • Constantly improved in 6.x, 7.x and 8 • Expose a Smalltalk method as a service • Consume a service in Smalltalk 42
  • Integration Trends RESTful Web Services 43
  • RESTful Web Services • REST = Representational State Transfer • What is it? • Not a standard • It‘s an architecture 44
  • Basic Concepts 45
  • Basic Concepts • RESTful Web Services are about Resources, not about operations 45
  • Basic Concepts • RESTful Web Services are about Resources, not about operations • Adressability: Every Ressource has a unique name = URI 45
  • Basic Concepts • RESTful Web Services are about Resources, not about operations • Adressability: Every Ressource has a unique name = URI http://myhost/users/joachim/todolists... 45
  • Basic Concepts • RESTful Web Services are about Resources, not about operations • Adressability: Every Ressource has a unique name = URI http://myhost/users/joachim/todolists... • Statelessness: Server doesn‘t save any application state ➠ Scalability 45
  • What‘s a Resource? • • Customer Database Transaction • • Purchasing Order Flight Booking • • Line Item Message • • Hotel Room Dataset (RDB/OODB) • • Hotel Room Reservation any entity we deal with in our systems • User Account 46
  • What‘s a Resource? • Not a Business Object! • Not all aspects need to be transported between applications • Some aspects belong to a different Business Object (save bandwidth) • References become IDs or Hyperlinks 47
  • Basic Concepts • Operations defined in HTTP standard • Create: POST a new ressource • Read: GET a ressource • Update: PUT a ressource • Delete: DELETE a ressource • References to objects are hyperlinks / URLs 48
  • Basic Concepts 49
  • Basic Concepts Client 49
  • Basic Concepts Client Resource 49
  • Basic Concepts GET /users/Joachim HTTP Request Client Resource 49
  • Basic Concepts GET /users/Joachim HTTP Request Client Resource HTTP Response HTTP/1.1 200 OK Content-Type: application/xml <?xml version=...> <User firstname=“... 49
  • Basic Concepts GET /users/Joachim HTTP Request Client Resource HTTP Response HTTP/1.1 200 OK Content-Type: application/xml <?xml version=...> <User firstname=“... Contents can be XML, JSON, CSV, Binary Data ...any MIME-Type 49
  • HTTP Methods and Codes • HTTP GET • 200 OK • 400 Bad Request • 401 Unauthorized / 403 Forbidden • 404 Not found • 500 Internal Server Error 50
  • HTTP Methods and Codes (2) • HTTP POST • 201 Created • 409 Conflict • 415 Unsupported Media Type • 500 Internal Server Error 51
  • Why should I care? • Reduced Complexity • Uniform interface (HTTP) to every resource • Advantage in Development & Maintenance • More flexibility: serving/accepting Resources instead of exposing a set of operations (Mashups) 52
  • Useful Advanced HTTP - Features • If-Modified-Since / Last-Modified / 304 Not Modified for caching • Cache-Control (read-only objects or infrequently changing objects) • Content-Type to determine marshalers • Accept-Ranges / Content-Range for partial loading of long lists etc. 53
  • RESTful Web Services in the wild • Amazon Simple Storage Service (S3) • Yahoo Services, Delicious, Technorati • Many „Web 2.0“ sites / services • Apache couchDB: OODB with REST API • Usage is Growing 54
  • RESTful Web Services with VA Smalltalk 55
  • SST provides the Building Blocks • HTTP Client and Server • Server Smalltalk is highly configurable • Customization and extension on many levels • Scalability (Multithreading by default) • Mature (~10 years) and in use 56
  • PRESTON client • getResourceNamed: aURI queryParameters: aDictionary • postResource: anObject toResourceNamed: aURI • deleteResourceNamed: aURI • getOptionsForResourceNamed: aURI • handles session cookies (optional) 57
  • PRESTON client • Mapping between Resource (XML) and ST objects • Optional caching (URI → object) • Proxies for hyperlinks (linked resource is only fetched if needed) • Can act as database client to a RESTful web service 58
  • Demo: Yahoo! Traffic Client
  • SST Building Blocks SstServerApplicationContext SstBasicServer containerKey sessionManagerConfig. attributes applicationContexts sessionManagers initializeRequest: handlesRequest: startUp SstHttpSessionManager shutDown processClientRequest: basicProcessRequest: createSessionForRequest: processRequest: createCookieForSession: SstHttpServer cookieFromRequestHeader... SstHttpServletEngine 60
  • PRESTON Server SstServerApplicationContext SstBasicServer containerKey sessionManagerConfig. attributes applicationContexts sessionManagers initializeRequest: handlesRequest: startUp SstHttpSessionManager shutDown processClientRequest: basicProcessRequest: createSessionForRequest: processRequest: createCookieForSession: SstHttpServer cookieFromRequestHeader... PrestonResourceManager PrestonApplicationContext supportedHttpMethods resourceManagers PrestonServer pathSegment xmlMappingSpec rootObject handleGETRequest.. handlePostRequest... 61
  • Demo Todomatic Server User TodoList TodoItem 62
  • Summary 63
  • Presentation • VA Smalltalk supports today‘s technologies • Rich Client Applications aren‘t new for Smalltalk • Web Applications with Server Smalltalk and Seaside Users see no difference ➡ • Seaside makes Rich Internet Applications easy to develop 64
  • Integration • Integration today mostly means combining HTTP with XML or other text formats • Web Services are supported by VAST as a loadable feature • VA ST provides all the building blocks - even for modern hype technologies • ... like RESTful Web Services 65
  • VA Smalltalk is ready for today‘s challenges in corporate IT landscapes 66
  • VA Smalltalk is already in use with modern technologies 67
  • VA Smalltalk is already in use with modern technologies We‘ll see some examples today 67
  • Your Smalltalk Application can be a first-class citizen in your Company‘s IT 68
  • Your Smalltalk Application can be a first-class citizen in your Company‘s IT Put your system on a web server and make it play with the other kids 68
  • No need to duck and cover in your organization Just do IT ;-) 69
  • Questions? chel im Tu g 1 Joach erwe Flied rmany g, Ge ik.de sbur tfabr dwig bjek 40 Lu el@o ik.de tfabr 716 tuch objek j ww. w More info on my blog: www.joachim-tuchel.de 70