Title: Cach and .NET
1Caché and .NET
2Agenda
- InterSystems
- Caché 5 architecture and .NET
- ADO.NET
- .NET objects and Caché
- Summary
3InterSystems Commercial Stability
- Steady growth over 20 years
- Today over 100M turnover and over 400 people
World-Wide - Supporting about 2B of partner business
- Offices in Europe since 1987
- Last year, 2001, very poor year for many
- InterSystems turnover grew
- InterSystems headcount increased
- InterSystems opened new offices
- Corporate aim is for stability and sustainable
growth - UK well setup for strong growth in 2003
- Moving into new vertical markets
4Caché in the Embedded Market
Source Gartner Dataquest
5Caché 5 technical introduction
6Caché interface convergence
SQL Database
SQL Database
SQL
Visual Basic
SOAP
EJB
.NET
Caché Server Pages
SQL G/W
ODBC
JDBC
Others
C
Java
COM
XML
Objects
SQL I/F
Classes
Caché Data Store
EnterpriseCaché Protocol
Caché Data Store
Caché Data Store
7Caché Studio database RAD convergence
8.NET
9The .NET Umbrella term
- Almost every piece of MS software and
functionality now has .NET appended to it ! - .NET Standard Server and .NET Enterprise Server
- Visual Studio .NET
- Visual Basic .NET
- Visual C .NET
- Visual C .NET
- JScript .NET
- .NET Framework
- ASP.NET
- ADO.NET
- Conclusion its a marketing term !
10Split programming culture
Visual Basic
C/C
JScript (ECMAScript)
- Main issue is not the language, its the support
around it - Different compilers
- Different debuggers
- Differing library/class support
11Platform issues
- Microsoft tried to make NT cross-platform
- Most have now died Alpha, MIPS, PPC
- Microsoft are once again almost exclusively IA32
based - Will have to cope with IA32 and IA64 (and AMD
32/64) - Tried to latch on to Java and ran into commercial
issues
32 bits
64 bits
12CLR, CLS, Framework Diagram
Interoperable
Visual Basic
C
C
JScript
Framework
CLS
CLR
Platform (processor(s), Operating System)
13ADO.NET
14ADO.NET
- A complete rewrite of ADO but kind of similar in
operation - Driven by web performance needs
- Reduce permanent connection usage
- Increase client-side caching
- Moved towards more generic data sources
- Support for XML for instance
- Has the concept of Data Providers, 2 at present
- SQL Server 7
- Generic OLE DB (ODBC) interface
- Supported by Caché
15Main classes within ADO.NET
- DataAdaptors
- Specific to a type of data source such as ODBC
- Provide methods that allow data selection
operations - SQL in the case of ODBC
- A DataSet provides read/write access
- Client-side caching
- Both XML and table support
- Can drop the database connection
- Supports multiple tables with relationships
- Can navigate through the relationships
16ADO.NET Classes Cont
- A DataReader provides read-only forward-only
cursors - Server-side caching
- Very efficient
- The DataTable contains the results
- Uses a row and column format
- Includes column header information
- The DataRow contains an individual row of data
- Access each column value via an index or name
17ADO.NET example in C
- OdbcConnection connection new OdbcConnection
("DSNCACHE Samples") - DataSet dataSet new DataSet()
- OdbcDataAdapter dataAdapter new
OdbcDataAdapter() -
- dataAdapter.SelectCommand new OdbcCommand
- ("Select from Sample.Person where ID lt 10",
connection) -
- dataAdapter.Fill(dataSet, "Sample_Person")
- DataTable dataTable dataSet.Tables"Sample_Pers
on" - int columnCount dataTable.Columns.Count
- for (int row 0 row lt dataTable.Rows.Count
row) - DataRow dataRow dataTable.Rowsrow
- for (int column 0 column lt columnCount
column) - Console.Write (dataTable.Columnscolumn.Column
Name "\t") - Console.WriteLine (dataRow.ItemArraycolumn)
-
-
-
18Studio with SQL
- Even in a pure SQL environment the Caché Studio
provides an integrated wizard and cut/paste IDE.
19Use methods from SQL
- ClassMethod square(val as Integer) As Integer
SqlProc -
- quit val val
-
20Caché and .NET objects
21Caché and COM
- Caché can be driven by COM
- Usually used for data access
- Caché can drive COM
- A COM component can be imported into Caché
- Caché wraps it with a corresponding Caché Class
- Caché can now drive the COM component
- Examples are Word, Excel, PowerPoint
- Supported with .NET
22.NET connecting to Caché through .COM
- Import the Caché COM component (CacheObject.dll)
into .NET - Drag and Drop in Studio
- Produces InterOp.CacheObject.dll
- Thats it done
- Use Caché with VB .NET as you do with VB 6
- Also very easy to use with C and managed C
23C objects with Caché
- for (int showId 1 showId lt 20 showId)
- Console.Out.WriteLine("Show " showId "
information is -") - ObjInstance show (ObjInstance)
factory.OpenId("Cinema.Show", - showId.ToString(), 0)
- Console.Out.WriteLine("Start time "
getProperty(show, "StartTime")) - ObjInstance film (ObjInstance)
getProperty(show, "Film") - Console.Out.WriteLine("Film description "
getProperty(film, "Description")) - Console.Out.WriteLine("Film length "
getProperty(film, "Length")) - ObjInstance theater (ObjInstance)
getProperty(show, "Theater") - Console.Out.WriteLine("Theater name "
getProperty(theater, "TheaterName")) - Console.Out.Write("Adult price "
getProperty(theater, "AdultPrice")) - Console.Out.WriteLine(", child price "
getProperty(theater, "ChildPrice")) -
24Summary
25.NET and Caché Summary
- .NET environment is very similar to Java
- Common support for VB.NET, C.NET, C.NET and
JScript.NET - Platform independence
- Base Class Libraries
- Error Handling
- COM is supported
- .NET will work very well with Caché
- ADO.NET
- Objects, particularly VB.NET and C
26Caché technical summary
- Full support for SQL and ODBC/JDBC/ADO
- Much faster than relational databases
- Reduced hardware costs
- Full object support
- Java, Visual Basic, C, C
- Manage complex data easily
- Fast to develop, fast to market
- Full data-centric Web environment
- Very fast and low-cost development
- Integrated Database RAD Studio
- Speed to market
27Fast SQL Database
- More users on a given hardware platform
- No hardware purchase/upgrade costs
- Utilise existing (old) hardware
- Better response times
- Meet batch processing times
- Satisfied users and customers
28Flexible and fast objects
- End-to-end object design and deployment
- No object to SQL mapping design time and costs
- High performance
- Fast to market
- Language neutral
- Java, C, COM, Visual Basic, .NET
- Interoperable
- Across objects, XML and SQL
29SOAP
- Simple Object Access Protocol
- Caché directly projects Classes as SOAP services
- Extend from SOAP.WebService
- Define three parameters
- Caché produces the WSDL meta-data
- Caché also builds a test page
- Enter parameters
- Run the SOAP Service within Caché
- Direct access to all of the internal Caché
functionality - SQL
- Objects
- Caché classes
30Integrated web and database development
- Web focused design
- CSP Tags
- Object focused design
- Programmatic support
- Integrated with GUI web tools
- Dreamweaver, FrontPage, etc
- Dynamic HTML page generation
- Compiled code and database access in same tier
- Very high performance
- Fast to market
31Cross environment features
- Database centric RAD
- Caché Studio
- Transactional bit-mapped indices
- Support for complex queries (data
mining/warehousing) - Little impact on write (insert/update)
performance - Integration with relational SQL databases
- 20 years of experience
- Stability
- Scalability, 32T Byte volumes, 16K volumes
- Support
- Reduced DBA costs
32That's all folks . . .
Questions?