Software platforms - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Software platforms

Description:

MS. Client. Query / answer. server computer. client computer. DBMS ... MS vs. Linux/GNU. It is easy to spend money. Be very skeptical about what marketeers say ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 22
Provided by: AriJ3
Category:

less

Transcript and Presenter's Notes

Title: Software platforms


1
Topics
  • Software platforms
  • Component architecture
  • Database access
  • Interoperability
  • Distributed computing

2
Courses next year
  • Maa-123.440 Webtop GIS (3 cr) (Lassi Lehto,
    FGI, Sspring)
  • web platform, db access, components (among other
    things)
  • Maa-123.470 GIS Software engineering (5 cr) (Kari
    Tuukkanen Genimap et al, FallSpring)
  • platforms, programming, components (among other
    things)
  • Maa-123.410 Geographic Data Management (3 cr)
    (Tuija Helokunnas TUT, Fall)
  • database access (among other things)

3
Software platforms
  • A relevant and ubiquitous common service
    abstraction.
  • http//www.ozzie.net/blog/stories/2002/09/24/softw
    arePlatformDynamics.html
  • Examples
  • Operating Systems
  • Email
  • WWW
  • Web services
  • ArcGIS? (more an application) OGC specifications
  • GSM
  • Collaborative environments (e.g. Lotus Notes)

4
Web services
  • The functionality of a web page/site is offered
    as an API
  • New web sites are created whose exposed
    functionality is much more versatile than
    traditional
  • traditional web browser is a thin user
    application, and sends data only from forms /
    image map clicks
  • applications which would use web services are
    much more thicker and rely on remote data
    processing
  • Obvious social/trust problem/possibility

5
Components
  • Ready-to-use executable code which have a
    documented API and can be used to extend our own
    applications
  • local web services
  • Components refer usually to compiled code (the
    source code is not available). Uncompiled code
    which serves similar purpose is called a library
    or a module.
  • Examples
  • JavaBeans
  • ActiveX

6
(Persistent) objects
  • OLE (Object Linking and Embedding) in Windows
  • binary data, which represents a particular object
    in a particular program

7
Virtual machines
  • An abstract computer implemented in software
  • You program in a high-level code (Java, C, Perl,
    Python,..)
  • You compile your program into bytecode
  • You give the user the bytecode
  • Or the user downloads it automatically as a part
    of a webpage
  • The user executes the bytecode in his/her virtual
    machine
  • Typically there is a Java virtual machine in web
    browsers (.Net VM, Parrot)

8
Perspective / motivation for interoperability
  • Interoperability
  • why are we using a GIS?
  • Supporting modeling for resource management
  • Supporting decision making
  • Map production
  • Spatial database
  • ...
  • we want to use other systems together with GIS or
  • we want to use other systems as components in GIS
    or
  • we want to use GIS as a component in other
    software
  • Centralized data management

9
What is a database?
  • (Broad sense) Data organized according to some
    structure
  • item (smallest piece, has a datatype)
  • group of items (tuple, row, ...)
  • collection of groups (table, ...)
  • structure
  • An example filesystem
  • item file (file type from MIME (what is MIME?))
  • group directory
  • collection filesystem
  • structure?

10
Another db example XML
  • XML is a mark-up language
  • ltMyTag MyAttribute21.11.2003gtMy
    contentlt/MyTaggt
  • item tag, attribute, content
  • group element (tag, attribute, content)
  • collection of groups XML document
  • structure
  • child elements, sibling elements

11
Relational database
12
(No Transcript)
13
Tasks of the management system
  • Concurrency control
  • Access control
  • DB integrity
  • Query parsing
  • Transactions
  • ...

14
Issues of accessing a database
  • Open the database into the application program
    (sequentially or as a whole)
  • Access the database through some software
    (database management system DBMS)

server computer
client computer
MS
Client
DB
Query / answer
15
DBMS access protocols
  • ODBC (Open Database Connectivity)
  • Common for Windows clients
  • JDBC
  • An API that lets you access virtually any tabular
    data source from the Java programming language.
  • DBI
  • The DBI module enables your Perl applications to
    access multiple database types transparently.
  • Others
  • PHP, Python, ...

16
Databases and objects
  • The problem Applications (objects) are dynamic
    and databases (relational) are static.
  • How to map from objects to relational databases
    and back again?
  • XML is no solution, actually it makes the problem
    worse
  • need to map from RDB to XML to objects

17
Aspects of interoperability
  • Interoperability is the ability of two
    applications to communicate with one another
  • also ability of the user to use two ..
  • Requirements for all levels of communication
    protocol stack
  • data exchange
  • computational interoperability
  • semantic interoperability

18
Distributed computing
  • a computer system in which several
    interconnected computers share the computing
    tasks assigned to the system
  • IEEE Standard Computer Dictionary A Compilation
    of IEEE Standard Computer Glossaries. New York,
    NY 1990.

19
Distributed computing environment
  • An architecture consisting of standard
    programming interfaces, conventions and server
    functionalities (e.g. naming, distributed file
    system, remote procedure call) for distributing
    applications transparently across networks of
    heterogeneous computers. DCE is promoted and
    controlled by the Open Software Foundation
    (OSF).
  • www.hyperdictionary.com

20
What is MIME?
  • MIME means Multipurpose Internet Mail Extensions,
    and refers to an official Internet standard that
    specifies how messages must be formatted so that
    they can be exchanged between different email
    systems. MIME is a very flexible format,
    permitting one to include virtually any type of
    file or document in an email message.
    Specifically, MIME messages can contain text,
    images, audio, video, or other application-specifi
    c data.
  • Example, from file /etc/mime.types
  • audio/mpeg mpga mp2 mp3

http//hunnysoft.com/mime/
21
Conclusion
  • I have talked mostly about computing in general
  • tried to avoid some topics which will come up in
    later courses
  • Its a battlefield
  • IPR
  • MS vs. Linux/GNU
  • It is easy to spend money
  • Be very skeptical about what marketeers say
Write a Comment
User Comments (0)
About PowerShow.com