| Component |
Description |
| Transport |
 |
TAstaIOServerWire |
AstaIO has an abstracted transport layer that can use any
mechanism for transport. Typically this will be tcp/ip but
could be shared memory or something like namedpipes.
The TAstaIOServerWire has an easy to use Messaging layer to
be able to communicate with remote clients.
|
 |
TAstaIOSocketServerWire |
AstaIO cross platform native tcp/ip implemenation. The first
builds of AstaIO have this method fully implemented. Future
builds will include those listed below.
|
| |
TAstaIOIndyServerWire |
Implementation using Indy
|
| |
TAstaIODXSocksServerWire |
Implementation using DXSocks
|
| |
TAstaIOIPWorksServerWire |
Implementation using IPWorks
|
| |
TAstaIOStringWire |
Implementation using Delphi Long Strings so that a client and server could be compiled in the same exe without tcp/ip installed.
|
| |
TAstaIOUserList |
Maintains a list of connected users along with access to
server side user information including database connection,
username. Any additional data can be stored in an
AstaIOParamList and there are options to create your own
TObject descendents as parts of the TUserRecord.
|
| Database |
 |
TAstaIODatabasePlugin |
Provides events to allow any Delphi 3rd Party Database
component to be used with AstaIO. By providing the ability to
support SQL Selects, Parameterized Exec Queries, Transactions,
MetaData calls and Stored procedure support AstaIO can support
client side SQL, a JDBC Driver and the AstaIOSQLExplorer that
allows for all server information to be accessed over the
internet.
|
 |
TAstaIOMetaData |
Allows metadata calls to any database to be used in
standard AstaIO format so that tablenames, fieldnames, view,
storedprocedure, foreignkey and other metadata information can
be accessed uniformly from remote AstaIO clients.
|
 |
TAstaIODBInfo |
In the past, ASTA servers have used API calls to retrieve
metadata information. Using the BDE, ADO, ODBC provided
metadata information but it was always in a different format.
FieldNames and field types would vary according to the API.
The TAstaIODBInfo component allows SQL to be defined to
retrieve metadata information. This then allows Oracle (for
example) Metadata to be retrieved in a consistent format no
matter what Delphi or Kylix Database component was used on the
server.
|
| |
TAstaIOMSQLServerInfo |
MS SQL Server descendent of TAstaIODBInfo
|
 |
TAstaIOIBInfo |
Interbase descendent of TAstaIODBInfo
|
| |
TAstaIOOracleInfo |
Oracle descendent of TAstaIODBInfo
|
 |
TAstaIOASAInfo |
Adaptive Server Anywhere (SQL Anywhere) descendent of TAstaIODBInfo
|
| Middle Tier Business Objects |
 |
TAstaIOServerMethodResultSet |
Allows server side "Methods" to be defined with any number
of Parameters that return a result set. On the client a
TAstaIOServerMethodDataSet is used.
|
 |
TAstaIOServerMethodExec |
Allows server side "Methods" to be defined with any number of Parameters.
|
 |
TAstaIOProvider |
Provides a result set that allows a TDataSet to be connected
and allows for updates through SQL that AstaIO Generates. Also
allows for Edits,Inserts and Deletes to be intercepted so that
custom or additional SQL can be generated on the server.
|
 |
TAstaIOIProvider |
Similar to the MIDAS/DataSnap Provider, the TAstaIOTProvider
implements the IProvider Interface on the server. Instead of
allowing AstaIO to generate SQL for update, inserts and deletes
is uses the IProvider Interface of the Delphi/Kylix Database
component used on the server to call ResolveToDataSet.
Optionally it can allow ASTA to generate SQL. There are also
events that can be used to get in between this process.
|
| SOAP Support |
Future Versions of AstaIO will include the ability for ServerMethods to be accessed as SOAP services through an ISAPI DLL or Apache Plugin for Linux. This architecture will allow for load balancing and fail over for SOAP Services |
Since AstaIO servers handle all threading and database
connection pooling by allowing AstaIO ServerMethods to be made
available as SOAP services, developers will be able to provide
access to their server methods through SOAP to any client that
can make a SOAP Request.
|
| Component |
Description |
| Transport |
 |
TAstaIOClientWire |
Base class that uses Interfaces so that a transport layer
can be implemented using any protocol.
|
 |
TAstaIOClientLeanWire |
Messaging class descended from TAstaIOClientWire using the
AstaNative Sockets that does not use AstaIOParamLists so that
db.pas is not linked in the application. This allows for much
smaller EXE's to be created for message only clients (no
database requirements). Used in the AstaIOClientAdmin that can
show server logs.
|
 |
TAstaIONativeClientWire |
Messaging class using the AstaNative sockets used for
database clients that allows the use of AstaIOParamLists
|
| In-Memory Datasets |
 |
TAstaIODataSet |
Full TDataSet implementation
|
 |
TAstaIOAuditDataSet |
TAstaIODataSet that can support CancelUpdates and
RevertRecord. Tracks all edits,inserts and deletes implements
an OldValuesDatASet that contains the original value of any
edit or delete.
|
| Client-Side SQL |
|
ASTA pioneered the concept of Client Side SQL in 1998 with
ASTA 1.0 was released. N Tier theory holds that the business
logic should be maintained on the middle tier. AstaIO supports
this fully with ServerMethods and AstaProviders. But Client
Side SQL is still a very fast way to convert applications to
run over the internet.
AstaIO Servers can be run as binaries to support client side
SQL and Win32, Linux, Palm, Wince and Java Clients.
|
 |
TAstaIOClientQuery |
SQL Client Component
|
 |
TAstaIOClientTable |
Table Client Component. Essentially a select * from tablename component.
|
 |
TAstaIOClientStoredProc |
Stored Procedure Client Component
|
 |
TAstaIOMetaDataDataSet |
Brings back metadata information from AstaIO Servers
|
| Middle Tier Business Clients |
 |
TAstaIOProviderDataSet |
Links to server side TAstaIOProviders
|
| |
TAstaIOIProviderDataSet |
Links to server side TAstaIOIProviders
|
| |
TAstaIOServerMethodDataSet |
Links to server side TAstaIOServerMethodResultSets
|
| |
TAstaIOServerMethod |
Links to Exec only server methods that don't return result
sets but only Params. Not a TDataSet descendent.
|