Your SlideShare is downloading. ×
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?




         ...
IT Today



   3
Today‘s IT Landscapes
                          seen from 10.000 ft

                      Inventory Management
 Oracle DB...
Today‘s IT Goals
            seen from 10.000 ft

• Simplify and Save money
• Consolidate on a few technologies
 •   Datab...
Smalltalk‘s niche
• Some shops eliminated Smalltalk
• In most shops Smalltalk has survived
 •   Porting is hard and expens...
Challenges for
     Smalltalk Projects
• Continue to deliver business value
• Integrate with new technologies
 •   as a co...
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
...
Presentation trends

• Onto The Web
 • Web Applications & Portals
• ...and Back to the Client
 • Rich Client Applications
...
Integration trends

• Make the whole zoo of applications and
  technologies work together
• Share / Exchange Information
•...
VA Smalltalk and
presentation trends


         11
Why onto the Web?

• No client installation
• Nice presentation
• Global availability
• Platform-neutral
• Simple protocol...
...And why not?
• Limited interaction / feedback
• Insufficient for complex tasks
• Save my Data on the web?
• How to work ...
Rich Clients
• Local GUI and logic
• Consistent Look & Feel
• Instant Feedback (Field Validation)
• Integration with OLE/A...
Mix the two?

          Rich Internet Applications
• Feel (almost) like local applications
• Can be designed to look great...
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
 • Com...
Rich Internet
         Applications
• Look & feel like rich clients
 • instant feedback, e.g. input validation
 • active e...
Rich Internet
Applications




      19
Rich Internet
           Applications
• Combination of two (or more)
  implementation technologies
 •   Server: Java, Smal...
Rich Internet
           Applications
• Combination of two (or more)
  implementation technologies
 •   Server: Java, Smal...
Rich Internet
           Applications
• Combination of two (or more)
  implementation technologies
 •   Server: Java, Smal...
AJAX
• XMLHttpRequest: „Mini“ - Requests to the
  server
• Server returns only a portion of a page
• JavaScript code manip...
What does
   VA Smalltalk offer?
• Server Smalltalk (SST)
 • HTTP/S Server
 • Java Servlets compliant API with
    SstHttp...
What does
   VA Smalltalk offer?
• XML support
• SAX and DOM-Parser
• Smalltalk - XML Mapping
• Seaside in Version 8
 • Se...
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
...
Rich Clients in VA ST

VA Smalltalk has been in use to build Rich
Clients for over a decade
  • Rapid GUI development
  • ...
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
 • T...
What does VA ST offer?
• Ease of Development
  •   Composition Editor or WindowBuilder

  •   Abt Layer for wiring to the ...
So what?


Rich Client Applications are what we‘ve done
                  for years




                     30
So what?

                                    a
                                is       !
                             kr...
What‘s missing?
• Look & Feel enhancements
 • Default look of containers (OS/2-ish)
 • Automatic native look
   • Portable...
What‘s missing?
• New Parts
 • Pluggable Toolbars (Tear-off as palette
    window)
  • Ribbons
  • Details on/off
• Contai...
What‘s missing?
• „Smalltalk Web Start“
 • built into VM or image startup sequence
 • zero deployment effort
 • Feasible o...
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
• I...
Integrate a VA ST
    Web Application?
• VA ST is just another web server
• Talks to the others via HTTP/XML ...
• Look & ...
Integration of Web
           Servers
                                            Images
                        Backend
 ...
Integration Trends
Web Services


        39
Web Services
• Uses HTTP/S POST for transport
 • in theory uses any transport protocol
• XML Messages
 • SOAP-Envelopes
 •...
Web Services

• W3C Standard
• Huge set of domain/industry specific
  standards (WS-*)
• Large selection of tools and vendo...
What does VA ST offer?

• Supported by VA Smalltalk since V 5.5
• Based on Server Smalltalk
• Constantly improved in 6.x, ...
Integration Trends
RESTful Web Services


           43
RESTful Web Services

• REST = Representational State Transfer
• What is it?
 • Not a standard
 • It‘s an architecture

  ...
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 u...
Basic Concepts
• RESTful Web Services are about Resources,
  not about operations
• Adressability: Every Ressource has a u...
Basic Concepts
• RESTful Web Services are about Resources,
  not about operations
• Adressability: Every Ressource has a u...
What‘s a Resource?
•                                 •
    Customer                          Database Transaction

•      ...
What‘s a Resource?
• Not a Business Object!
• Not all aspects need to be transported
  between applications
• Some aspects...
Basic Concepts
• Operations defined in HTTP standard
 • Create: POST a new ressource
 • Read: GET a ressource
 • Update: PU...
Basic Concepts




      49
Basic Concepts


Client




               49
Basic Concepts


Client                Resource




               49
Basic Concepts
             GET /users/Joachim




               HTTP Request

Client                            Resource...
Basic Concepts
                 GET /users/Joachim




                    HTTP Request

Client                           ...
Basic Concepts
                 GET /users/Joachim




                    HTTP Request

Client                           ...
HTTP Methods and
       Codes
• HTTP GET
 • 200 OK
 • 400 Bad Request
 • 401 Unauthorized / 403 Forbidden
 • 404 Not found...
HTTP Methods and
     Codes (2)
• HTTP POST
 • 201 Created
 • 409 Conflict
 • 415 Unsupported Media Type
 • 500 Internal Se...
Why should I care?
• Reduced Complexity
• Uniform interface (HTTP) to every
  resource
• Advantage in Development & Mainte...
Useful Advanced
     HTTP - Features
• If-Modified-Since / Last-Modified / 304 Not
  Modified for caching
• Cache-Control (re...
RESTful Web Services
    in the wild
• Amazon Simple Storage Service (S3)
• Yahoo Services, Delicious, Technorati
• Many „...
RESTful Web Services
  with VA Smalltalk


         55
SST provides the
      Building Blocks
• HTTP Client and Server
• Server Smalltalk is highly configurable
• Customization a...
PRESTON client
• getResourceNamed: aURI
  queryParameters: aDictionary
• postResource: anObject
  toResourceNamed: aURI
• ...
PRESTON client
• Mapping between Resource (XML) and ST
  objects

• Optional caching (URI → object)
• Proxies for hyperlin...
Demo:
Yahoo! Traffic Client
SST Building Blocks
                        SstServerApplicationContext

   SstBasicServer              containerKey
     ...
PRESTON Server
                        SstServerApplicationContext

   SstBasicServer              containerKey
          ...
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 ...
Integration

• Integration today mostly means combining
  HTTP with XML or other text formats
• Web Services are supported...
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 ...
No need to duck and cover
   in your organization

      Just do IT ;-)


            69
Questions?


                                                      chel
                                               im ...
Upcoming SlideShare
Loading in...5
×

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

2,935

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,935
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide










































































































































































  • Transcript of "(How) Does VA Smalltalk fit into today's IT landscapes?"

    1. 1. VA Smalltalk 1
    2. 2. VA Smalltalk (How) Does it fit into today‘s corporate IT landscape? 1
    3. 3. Questions 2
    4. 4. Questions • What are the major trends in IT today? 2
    5. 5. Questions • What are the major trends in IT today? • How can you address these trends with VA Smalltalk? 2
    6. 6. IT Today 3
    7. 7. 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
    8. 8. 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
    9. 9. 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
    10. 10. 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
    11. 11. Today‘s Major IT Trends
    12. 12. Presentation trends 9
    13. 13. Presentation trends • Onto The Web • Web Applications & Portals 9
    14. 14. Presentation trends • Onto The Web • Web Applications & Portals • ...and Back to the Client • Rich Client Applications 9
    15. 15. Presentation trends • Onto The Web • Web Applications & Portals • ...and Back to the Client • Rich Client Applications • Mix the two: Rich Internet Applications 9
    16. 16. 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
    17. 17. VA Smalltalk and presentation trends 11
    18. 18. Why onto the Web? • No client installation • Nice presentation • Global availability • Platform-neutral • Simple protocol: HTTP and friends 12
    19. 19. ...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
    20. 20. Rich Clients • Local GUI and logic • Consistent Look & Feel • Instant Feedback (Field Validation) • Integration with OLE/ActiveX etc. • Platform Drag & Drop • Snappier 14
    21. 21. 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
    22. 22. Presentation Trends Web Applications 16
    23. 23. 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
    24. 24. 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
    25. 25. Rich Internet Applications 19
    26. 26. Rich Internet Applications • Combination of two (or more) implementation technologies • Server: Java, Smalltalk, Ruby, Perl, PHP... • Client: JavaScript, ActionScript (Adobe) ... 19
    27. 27. 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
    28. 28. 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
    29. 29. 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
    30. 30. 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
    31. 31. What does VA Smalltalk offer? • XML support • SAX and DOM-Parser • Smalltalk - XML Mapping • Seaside in Version 8 • Seaside-Scriptaculous 22
    32. 32. Presentation Trends Rich Client Applications 23
    33. 33. What‘s new about Rich Clients? 24
    34. 34. What‘s new about Rich Clients? ... um ... well ... you know ... 24
    35. 35. 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
    36. 36. 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
    37. 37. VA Smalltalk for Rich Clients 27
    38. 38. 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
    39. 39. 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
    40. 40. So what? Rich Client Applications are what we‘ve done for years 30
    41. 41. 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
    42. 42. 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
    43. 43. 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
    44. 44. 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
    45. 45. What‘s missing? • New Platforms • Windows CE / Mobile • Mac OS X (iPhone?) 34
    46. 46. VA Smalltalk Integration 35
    47. 47. 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
    48. 48. 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
    49. 49. 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
    50. 50. Integration Trends Web Services 39
    51. 51. Web Services • Uses HTTP/S POST for transport • in theory uses any transport protocol • XML Messages • SOAP-Envelopes • Namespaces • Many standards / schemas available 40
    52. 52. Web Services • W3C Standard • Huge set of domain/industry specific standards (WS-*) • Large selection of tools and vendors 41
    53. 53. 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
    54. 54. Integration Trends RESTful Web Services 43
    55. 55. RESTful Web Services • REST = Representational State Transfer • What is it? • Not a standard • It‘s an architecture 44
    56. 56. Basic Concepts 45
    57. 57. Basic Concepts • RESTful Web Services are about Resources, not about operations 45
    58. 58. Basic Concepts • RESTful Web Services are about Resources, not about operations • Adressability: Every Ressource has a unique name = URI 45
    59. 59. 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
    60. 60. 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
    61. 61. 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
    62. 62. 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
    63. 63. 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
    64. 64. Basic Concepts 49
    65. 65. Basic Concepts Client 49
    66. 66. Basic Concepts Client Resource 49
    67. 67. Basic Concepts GET /users/Joachim HTTP Request Client Resource 49
    68. 68. 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
    69. 69. 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
    70. 70. HTTP Methods and Codes • HTTP GET • 200 OK • 400 Bad Request • 401 Unauthorized / 403 Forbidden • 404 Not found • 500 Internal Server Error 50
    71. 71. HTTP Methods and Codes (2) • HTTP POST • 201 Created • 409 Conflict • 415 Unsupported Media Type • 500 Internal Server Error 51
    72. 72. 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
    73. 73. 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
    74. 74. 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
    75. 75. RESTful Web Services with VA Smalltalk 55
    76. 76. 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
    77. 77. PRESTON client • getResourceNamed: aURI queryParameters: aDictionary • postResource: anObject toResourceNamed: aURI • deleteResourceNamed: aURI • getOptionsForResourceNamed: aURI • handles session cookies (optional) 57
    78. 78. 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
    79. 79. Demo: Yahoo! Traffic Client
    80. 80. SST Building Blocks SstServerApplicationContext SstBasicServer containerKey sessionManagerConfig. attributes applicationContexts sessionManagers initializeRequest: handlesRequest: startUp SstHttpSessionManager shutDown processClientRequest: basicProcessRequest: createSessionForRequest: processRequest: createCookieForSession: SstHttpServer cookieFromRequestHeader... SstHttpServletEngine 60
    81. 81. 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
    82. 82. Demo Todomatic Server User TodoList TodoItem 62
    83. 83. Summary 63
    84. 84. 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
    85. 85. 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
    86. 86. VA Smalltalk is ready for today‘s challenges in corporate IT landscapes 66
    87. 87. VA Smalltalk is already in use with modern technologies 67
    88. 88. VA Smalltalk is already in use with modern technologies We‘ll see some examples today 67
    89. 89. Your Smalltalk Application can be a first-class citizen in your Company‘s IT 68
    90. 90. 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
    91. 91. No need to duck and cover in your organization Just do IT ;-) 69
    92. 92. 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

    ×