Yuri Marx · Feb 23, 2021 2m read

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:

  1. InterSystems IRIS unifies: InterSystems IRIS Database (Caché), IRIS Interoperability (Ensemble), IRIS Business Intelligence (DeepSee) and IRIS Text Analytics (iKnow).
  2. IRIS is multimodel: object, relational, document and multidimensional.
  3. 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.
  4. IRIS is Transactions and analytics together.
  5. IRIS scales Horizontal with ECP (distributed cache for user volume) and Sharding for data volume.
  6. Deploy in public or private containers with Cloud Manager.
  7. 3 IDE options to develop: VSCode (most popular), Studio (windows only), Atelier (deprecated).
  8. Terminal tool for CLI commands.
  9. Management Portal to browser commands.
  10. IRIS is multiplatform (UNIX, Linux, Windows) with docker option to Linux.
  11. It has year releases 20##.1 (EM - Extended Maintenance) and Quarterly releases (CD - continuous delivery).
  12. IRIS is case sensitive and case camel notation is a good practice.
  13. Classes are a containers to methods and properties.
  14. Methods performs specific tasks and is not allowed method overload (two methods with same name in a class).
  15. There are 2 types of methods: ClassMethod (action not associated with object instance) and Method (action associated with object instance).
  16. Use ##class() to run class methods and create an instance (with %New or %OpenId) to execute Methods.
  17. The default type to method arguments is %String.
  18. The notation ... indicates variable arguments. Example: Method Sample(a As %String, b... as %String) as %Status.
  19. When you pass arguments as method caller:
    1. If you use . you pass as reference;
    2. The arguments are optional, and you can use $data() to test with the caller passed the argument;
  20. string is the default type to variables.
  21. ObjectScript supports dynamic types.
  22. In ObjectScript 0 is for false and other values is true.
  23. Packages allows you organize classes into folders.
  24. If you use import in a class or method you don't need reference the qualified name to a class.
  25. Persistent classes (stored in the disk) extends %Persistent.
  26. Persistent classes have properties to persist class attributes/values.
  27. 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 (

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.

2 650
Discussion (9)4
Log in or sign up to continue

Good to hear that! 

I was thinking about this reward on Global Masters. Maybe I'll redeem my 40k on this. 😃 

Good to know.  I'll be taking the course before I try for my certification, I'll just need to save up the $2,800 since my points game isn't quite up to snuff!

Thanks Yuri, really great information!


This is great information, however, on your point "PS 2:" I'd be surprised to hear if your instructor's name wasn't actually @Joel Solon  -- but you're right, he's a great instructor, and one heckuva nice guy to boot!

I fixed Joel name, thanks the alert and sorry joel.

That looks like a fun course! winkOne correction on point 20: the default datatype for variables is string, not %String. And there's more to know about what that means, but come and take the course to find out...

Thanks Joel! The course is great, exercises are great to learn more, I loved!

really excellent course!  and Joel is a great teacher!!!