Day 1: Developing with InterSystems Objects and SQL
I'm participating in the Developing with InterSystems Objects and SQL with Joel Solon. The course is very nice and I will share with you some tips I got during the training. Tips presented in the day 1:
- InterSystems IRIS unifies: InterSystems IRIS Database (Caché), IRIS Interoperability (Ensemble), IRIS Business Intelligence (DeepSee) and IRIS Text Analytics (iKnow).
- IRIS is multimodel: object, relational, document and multidimensional.
- Interoperable: native access from Java, .NET, other languages, like ObjectScript; ODBC and JDBC data access, SOAP/REST service access; message driven with data routing, transformations and workflows; SOA architecture with ESB.
- IRIS is Transactions and analytics together.
- IRIS scales Horizontal with ECP (distributed cache for user volume) and Sharding for data volume.
- Deploy in public or private containers with Cloud Manager.
- 3 IDE options to develop: VSCode (most popular), Studio (windows only), Atelier (deprecated).
- Terminal tool for CLI commands.
- Management Portal to browser commands.
- IRIS is multiplatform (UNIX, Linux, Windows) with docker option to Linux.
- It has year releases 20##.1 (EM - Extended Maintenance) and Quarterly releases (CD - continuous delivery).
- IRIS is case sensitive and case camel notation is a good practice.
- Classes are a containers to methods and properties.
- Methods performs specific tasks and is not allowed method overload (two methods with same name in a class).
- There are 2 types of methods: ClassMethod (action not associated with object instance) and Method (action associated with object instance).
- Use ##class() to run class methods and create an instance (with %New or %OpenId) to execute Methods.
- The default type to method arguments is %String.
- The notation ... indicates variable arguments. Example: Method Sample(a As %String, b... as %String) as %Status.
- When you pass arguments as method caller:
- If you use . you pass as reference;
- The arguments are optional, and you can use $data() to test with the caller passed the argument;
- string is the default type to variables.
- ObjectScript supports dynamic types.
- In ObjectScript 0 is for false and other values is true.
- Packages allows you organize classes into folders.
- If you use import in a class or method you don't need reference the qualified name to a class.
- Persistent classes (stored in the disk) extends %Persistent.
- Persistent classes have properties to persist class attributes/values.
- Each persistent class has an unique ID number immutable.
PS 1: I redeemed this 5 day course (if you pay $2800) with 40,000 points (https://globalmasters.intersystems.com/rewards/34/reward_redemptions/new)
PS 2: Joel Solon is an excellent instructor (great tips to iris certification)
PS 3: the course material is excellent and the course resources, tools and support are fantastic.
Tomorrow I will post day 2 resume.