SlideShare ist ein Scribd-Unternehmen logo
1 von 92
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

Weitere ähnliche Inhalte

Was ist angesagt?

WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...WSO2
 
AD404 - Extend your Social Business by integrating SAP Solutions
AD404 - Extend your Social Business by integrating SAP SolutionsAD404 - Extend your Social Business by integrating SAP Solutions
AD404 - Extend your Social Business by integrating SAP SolutionsChristian Holsing
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)blahap
 
Dave hay web sphere administration for domino administrators
Dave hay   web sphere administration for domino administratorsDave hay   web sphere administration for domino administrators
Dave hay web sphere administration for domino administratorsDave Hay
 
DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010Laura Hood
 
Introduction to the azure service bus eai edi features
Introduction to the azure service bus eai edi featuresIntroduction to the azure service bus eai edi features
Introduction to the azure service bus eai edi featuresSandro Pereira
 
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...Sandro Pereira
 
Architecture1101 jy21cyl
Architecture1101 jy21cylArchitecture1101 jy21cyl
Architecture1101 jy21cylZouhayr Rich
 
Slide 1 - Mac Virtual Machines and Virtual PC. Automation and ...
Slide 1 - Mac Virtual Machines and Virtual PC. Automation and ...Slide 1 - Mac Virtual Machines and Virtual PC. Automation and ...
Slide 1 - Mac Virtual Machines and Virtual PC. Automation and ...webhostingguy
 
Contributing to OSS in a commercial non-OSS environment
Contributing to OSS in a commercial non-OSS environmentContributing to OSS in a commercial non-OSS environment
Contributing to OSS in a commercial non-OSS environmentFunambol
 
Customer solutions with zVSE Connectors
Customer solutions with zVSE ConnectorsCustomer solutions with zVSE Connectors
Customer solutions with zVSE ConnectorsIBM
 
Java on z overview 20161107
Java on z overview 20161107Java on z overview 20161107
Java on z overview 20161107Marcel Mitran
 
PCQuest Users’ Choice 2012 Winner List
PCQuest Users’ Choice 2012 Winner ListPCQuest Users’ Choice 2012 Winner List
PCQuest Users’ Choice 2012 Winner ListNet4 India Ltd.
 

Was ist angesagt? (17)

WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
 
Ta3
Ta3Ta3
Ta3
 
AD404 - Extend your Social Business by integrating SAP Solutions
AD404 - Extend your Social Business by integrating SAP SolutionsAD404 - Extend your Social Business by integrating SAP Solutions
AD404 - Extend your Social Business by integrating SAP Solutions
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)
 
IBM Connect 2013 - AD405
IBM Connect 2013 - AD405IBM Connect 2013 - AD405
IBM Connect 2013 - AD405
 
Dave hay web sphere administration for domino administrators
Dave hay   web sphere administration for domino administratorsDave hay   web sphere administration for domino administrators
Dave hay web sphere administration for domino administrators
 
DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010
 
Introduction to the azure service bus eai edi features
Introduction to the azure service bus eai edi featuresIntroduction to the azure service bus eai edi features
Introduction to the azure service bus eai edi features
 
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
 
Architecture1101 jy21cyl
Architecture1101 jy21cylArchitecture1101 jy21cyl
Architecture1101 jy21cyl
 
Oracle SOA Tips & Tricks (whitepaper)
Oracle SOA Tips & Tricks (whitepaper)Oracle SOA Tips & Tricks (whitepaper)
Oracle SOA Tips & Tricks (whitepaper)
 
Slide 1 - Mac Virtual Machines and Virtual PC. Automation and ...
Slide 1 - Mac Virtual Machines and Virtual PC. Automation and ...Slide 1 - Mac Virtual Machines and Virtual PC. Automation and ...
Slide 1 - Mac Virtual Machines and Virtual PC. Automation and ...
 
Contributing to OSS in a commercial non-OSS environment
Contributing to OSS in a commercial non-OSS environmentContributing to OSS in a commercial non-OSS environment
Contributing to OSS in a commercial non-OSS environment
 
Enterprise Service Bus and JBI
Enterprise Service Bus and JBIEnterprise Service Bus and JBI
Enterprise Service Bus and JBI
 
Customer solutions with zVSE Connectors
Customer solutions with zVSE ConnectorsCustomer solutions with zVSE Connectors
Customer solutions with zVSE Connectors
 
Java on z overview 20161107
Java on z overview 20161107Java on z overview 20161107
Java on z overview 20161107
 
PCQuest Users’ Choice 2012 Winner List
PCQuest Users’ Choice 2012 Winner ListPCQuest Users’ Choice 2012 Winner List
PCQuest Users’ Choice 2012 Winner List
 

Andere mochten auch

Pharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkPharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkSerge Stinckwich
 
Seaside - The Revenge of Smalltalk
Seaside - The Revenge of SmalltalkSeaside - The Revenge of Smalltalk
Seaside - The Revenge of SmalltalkLukas Renggli
 
Smalltalk In a Nutshell
Smalltalk In a NutshellSmalltalk In a Nutshell
Smalltalk In a NutshellMichele Lanza
 
Algorithm and Programming (Introduction of Algorithms)
Algorithm and Programming (Introduction of Algorithms)Algorithm and Programming (Introduction of Algorithms)
Algorithm and Programming (Introduction of Algorithms)Adam Mukharil Bachtiar
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to AlgorithmsVenkatesh Iyer
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersLemi Orhan Ergin
 

Andere mochten auch (7)

Pharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source SmalltalkPharo, an innovative and open-source Smalltalk
Pharo, an innovative and open-source Smalltalk
 
Seaside - The Revenge of Smalltalk
Seaside - The Revenge of SmalltalkSeaside - The Revenge of Smalltalk
Seaside - The Revenge of Smalltalk
 
Web Development with Smalltalk
Web Development with SmalltalkWeb Development with Smalltalk
Web Development with Smalltalk
 
Smalltalk In a Nutshell
Smalltalk In a NutshellSmalltalk In a Nutshell
Smalltalk In a Nutshell
 
Algorithm and Programming (Introduction of Algorithms)
Algorithm and Programming (Introduction of Algorithms)Algorithm and Programming (Introduction of Algorithms)
Algorithm and Programming (Introduction of Algorithms)
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to Algorithms
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
 

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

E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overviewNuno Alves
 
Zimbra Collaboration Suite Vs Microsoft Exchange 2008
Zimbra Collaboration Suite Vs Microsoft Exchange 2008Zimbra Collaboration Suite Vs Microsoft Exchange 2008
Zimbra Collaboration Suite Vs Microsoft Exchange 2008agileware
 
K soft corporate
K soft corporateK soft corporate
K soft corporateredifined
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008codebits
 
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...
Gear6 and Scaling Website Performance:  Caching Session and Profile Data with...Gear6 and Scaling Website Performance:  Caching Session and Profile Data with...
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...Gear6
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svenssonrajivmordani
 
JAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScriptJAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScriptmartinlippert
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptmartinlippert
 
Comm Gate Corporate Profile V0.4
Comm Gate Corporate Profile V0.4Comm Gate Corporate Profile V0.4
Comm Gate Corporate Profile V0.4Abhik Biswas
 
Microservices, Data Services and Containers for Cloud Native Architectures (D...
Microservices, Data Services and Containers for Cloud Native Architectures (D...Microservices, Data Services and Containers for Cloud Native Architectures (D...
Microservices, Data Services and Containers for Cloud Native Architectures (D...ragss
 
Spring into the Cloud - JDC2012 Cairo, Egypt
Spring into the Cloud - JDC2012 Cairo, EgyptSpring into the Cloud - JDC2012 Cairo, Egypt
Spring into the Cloud - JDC2012 Cairo, EgyptChris Richardson
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptmartinlippert
 
Aspects of Modern APM Solutions
Aspects of Modern APM SolutionsAspects of Modern APM Solutions
Aspects of Modern APM Solutionsnlwebperf
 
Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013Min Fang
 
Ajax World Oct2008 Jrd
Ajax World Oct2008 JrdAjax World Oct2008 Jrd
Ajax World Oct2008 Jrdrajivmordani
 
Egl Rui Ajax World
Egl Rui Ajax WorldEgl Rui Ajax World
Egl Rui Ajax Worldrajivmordani
 
QCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentQCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentChris Bailey
 
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafkaMuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafkaRoyston Lobo
 

Ähnlich wie (How) Does VA Smalltalk fit into today's IT landscapes? (20)

E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overview
 
Zimbra Collaboration Suite Vs Microsoft Exchange 2008
Zimbra Collaboration Suite Vs Microsoft Exchange 2008Zimbra Collaboration Suite Vs Microsoft Exchange 2008
Zimbra Collaboration Suite Vs Microsoft Exchange 2008
 
K soft corporate
K soft corporateK soft corporate
K soft corporate
 
MOINC Server
MOINC ServerMOINC Server
MOINC Server
 
MOINC Server
MOINC ServerMOINC Server
MOINC Server
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...
Gear6 and Scaling Website Performance:  Caching Session and Profile Data with...Gear6 and Scaling Website Performance:  Caching Session and Profile Data with...
Gear6 and Scaling Website Performance: Caching Session and Profile Data with...
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svensson
 
JAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScriptJAX 2013: Modern Architectures with Spring and JavaScript
JAX 2013: Modern Architectures with Spring and JavaScript
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScript
 
Comm Gate Corporate Profile V0.4
Comm Gate Corporate Profile V0.4Comm Gate Corporate Profile V0.4
Comm Gate Corporate Profile V0.4
 
Microservices, Data Services and Containers for Cloud Native Architectures (D...
Microservices, Data Services and Containers for Cloud Native Architectures (D...Microservices, Data Services and Containers for Cloud Native Architectures (D...
Microservices, Data Services and Containers for Cloud Native Architectures (D...
 
Spring into the Cloud - JDC2012 Cairo, Egypt
Spring into the Cloud - JDC2012 Cairo, EgyptSpring into the Cloud - JDC2012 Cairo, Egypt
Spring into the Cloud - JDC2012 Cairo, Egypt
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
Aspects of Modern APM Solutions
Aspects of Modern APM SolutionsAspects of Modern APM Solutions
Aspects of Modern APM Solutions
 
Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013
 
Ajax World Oct2008 Jrd
Ajax World Oct2008 JrdAjax World Oct2008 Jrd
Ajax World Oct2008 Jrd
 
Egl Rui Ajax World
Egl Rui Ajax WorldEgl Rui Ajax World
Egl Rui Ajax World
 
QCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application DevelopmentQCon Shanghai: Trends in Application Development
QCon Shanghai: Trends in Application Development
 
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafkaMuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
 

Kürzlich hochgeladen

H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Kürzlich hochgeladen (20)

H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

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

  • 2. VA Smalltalk (How) Does it fit into today‘s corporate IT landscape? 1
  • 4. Questions • What are the major trends in IT today? 2
  • 5. Questions • What are the major trends in IT today? • How can you address these trends with VA Smalltalk? 2
  • 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. 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. 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. 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
  • 13. Presentation trends • Onto The Web • Web Applications & Portals 9
  • 14. Presentation trends • Onto The Web • Web Applications & Portals • ...and Back to the Client • Rich Client Applications 9
  • 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. 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
  • 18. Why onto the Web? • No client installation • Nice presentation • Global availability • Platform-neutral • Simple protocol: HTTP and friends 12
  • 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. Rich Clients • Local GUI and logic • Consistent Look & Feel • Instant Feedback (Field Validation) • Integration with OLE/ActiveX etc. • Platform Drag & Drop • Snappier 14
  • 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
  • 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. 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
  • 26. Rich Internet Applications • Combination of two (or more) implementation technologies • Server: Java, Smalltalk, Ruby, Perl, PHP... • Client: JavaScript, ActionScript (Adobe) ... 19
  • 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. 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. 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. 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. What does VA Smalltalk offer? • XML support • SAX and DOM-Parser • Smalltalk - XML Mapping • Seaside in Version 8 • Seaside-Scriptaculous 22
  • 33. What‘s new about Rich Clients? 24
  • 34. What‘s new about Rich Clients? ... um ... well ... you know ... 24
  • 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. 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. VA Smalltalk for Rich Clients 27
  • 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. 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. So what? Rich Client Applications are what we‘ve done for years 30
  • 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. 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. 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. 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. What‘s missing? • New Platforms • Windows CE / Mobile • Mac OS X (iPhone?) 34
  • 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. 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. 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
  • 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. Web Services • W3C Standard • Huge set of domain/industry specific standards (WS-*) • Large selection of tools and vendors 41
  • 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
  • 55. RESTful Web Services • REST = Representational State Transfer • What is it? • Not a standard • It‘s an architecture 44
  • 57. Basic Concepts • RESTful Web Services are about Resources, not about operations 45
  • 58. Basic Concepts • RESTful Web Services are about Resources, not about operations • Adressability: Every Ressource has a unique name = URI 45
  • 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. 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. 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. 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. 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
  • 66. Basic Concepts Client Resource 49
  • 67. Basic Concepts GET /users/Joachim HTTP Request Client Resource 49
  • 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. 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. HTTP Methods and Codes • HTTP GET • 200 OK • 400 Bad Request • 401 Unauthorized / 403 Forbidden • 404 Not found • 500 Internal Server Error 50
  • 71. HTTP Methods and Codes (2) • HTTP POST • 201 Created • 409 Conflict • 415 Unsupported Media Type • 500 Internal Server Error 51
  • 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. 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. 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. RESTful Web Services with VA Smalltalk 55
  • 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. PRESTON client • getResourceNamed: aURI queryParameters: aDictionary • postResource: anObject toResourceNamed: aURI • deleteResourceNamed: aURI • getOptionsForResourceNamed: aURI • handles session cookies (optional) 57
  • 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
  • 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. 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. Demo Todomatic Server User TodoList TodoItem 62
  • 83. Summary 63
  • 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. 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. VA Smalltalk is ready for today‘s challenges in corporate IT landscapes 66
  • 87. VA Smalltalk is already in use with modern technologies 67
  • 88. VA Smalltalk is already in use with modern technologies We‘ll see some examples today 67
  • 89. Your Smalltalk Application can be a first-class citizen in your Company‘s IT 68
  • 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. No need to duck and cover in your organization Just do IT ;-) 69
  • 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

Hinweis der Redaktion