Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Blackboard Building Blocks Introduction to Building Blocks Bob Alcorn, Director, Platform Architecture Tuesday, September 2, 2014
Topics • Goals of Building Blocks • What are Building Blocks • Types of Building Blocks • Building Blocks Program Components • Developers Community • Building Blocks Roadmap
Goals of Building Blocks For Students and Instructors Access to a wide range of discipline specific, pedagogically specific, and more engaging content and applications.
Goals of Building Blocks For System Administrators Creation of new breeds of applications to aid in the deployment management and operation of the Blackboard Platforms. Integration of other tools, applications, and services under a common platform.
Goals of Building Blocks For Developers Create an extensible platform which can be used to create exciting new applications, integrate existing tools, and extend the core modules on top of a common, easy to learn, platform.
Goals of Building Blocks For Partners Create a marketplace for 3rd party application developers and consultants for their products and services.
Goals of Building Blocks For the CIO, CFO Enhance the ROI for Blackboard and other applications which can be integrated together to increase utilization.
Goals of Building Blocks For Blackboard Extend the value proposition for our clients far beyond what we as a single company can provide.
Technical Goals – High Level • Iterative functionality • Start with lightweight objects • Managed extensibility • System extensions and deployment model • Well defined entry points • Non-binding entry points • Simple persistence • Database abstraction • XML and Database • Originally targeted for import/export
What are Blackboard Building Blocks? Blackboard Building Blocks (B2) is the underlying architecture that enables the Blackboard platform to easily integrate educational web-based tools and content that meet institution-specific, discipline- specific or accessibility needs.
Blackboard Building Blocks • It is NOT just a set of Application Programming Interfaces (APIs) • It is a framework for extending the Blackboard Platforms, integrating new components, and interoperating with other applications. • It is a robust program for facilitating the development of enhancements to the Blackboard platforms.
Content Library Systems Security Communication Content Mgt Collaboration Content Authoring Assessment Back Office Systems Homegrown Applications “Operating Environment” Blackboard Building Blocks
Building Blocks Technology • Java Platform • JDK 1.3.1 and higher • Web application • Servlet 2.3 • JSP 1.2 • Security • Blackboard APIs • Data APIs • Service APIs • Tag Libraries (JSP/Servlet)
Building Blocks Technology Web Server (IIS, Apache) Tomcat Database (SQL Server,Oracle) Web app Perl (ActiveState,mod_perl)
Anatomy of a Building Block Package (.war/.zip file) web.xml (Servlets) Platform Descriptor Content Type, Tools, etc. Blackboard Manifest Web Resources Servlets, JSP (Java) Libraries .class, .jar files (Java)
Security Session Context Plug-ins Log Config Persistence I18N VXI Building Blocks Architecture Business Layer (JSP, Servlet, Struts) View Layer (JSP, Servlet, Tag Library) Data Objects Core Services
Types of Building Blocks • Extend Existing Blackboard Functionality • Add New Functionality into Blackboard • Integrate 3rd party applications with Blackboard • Integrate Blackboard with “Back-office” SIS and Authentication Systems • Create and Consume XML-Based Web Services • Provide and Render portal modules, portlets, and RSS Channels • … and MORE!
Content Engine Text Images Multimedia Types of Building Blocks • Building Blocks which extend the existing functionality within Blackboard • Example: Adding a new content type and handler to the content engine such as a WYSIWYG Editor Application Application Application Application Application Application Application Blackboard Platform Building Blocks Manager WYSIWYG SQL JAVA WYSIWYG
Dictionary/Thesaurus Types of Building Blocks, contd. • Building Blocks which add new functionality to Blackboard and take advantage of the Blackboard platforms “machinery” to run. • Example: Adding a new tool such as the dictionary / thesaurus tool to Blackboard. Application Application Application Application Application Application Blackboard Platform Building Blocks Manager SQL JAVA Dict / Thes
SQL C++ 3rd Party Assessment Engine Types of Building Blocks, contd. • Building Blocks which integrate a third party application with Blackboard • Example: Adding a new assessment engine to Blackboard Integration Agent Application Application Application Application Application Gradebook Bb Assessment Blackboard Platform Building Blocks Manager SQL JAVA Integration Agent
Types of Building Blocks, contd. LDAP SIS • Integration Agents which integrates Blackboard with Back-office ERP systems such SIS system as well as authentication systems such as LDAP and Kerberos. Authentication Agent ERP Integration Agent Application Application Application Application Application Application Application Blackboard Platform Building Blocks Manager SQL JAVA
Application Types of Building Blocks, contd. Web Service • Integration agents or Building Blocks which interoperate with XML based Web Services. Application Application Application Application Application Application Application Blackboard Platform Building Blocks Manager SQL JAVA
Types of Building Blocks, contd. • Building Blocks which add new modules to the portal. • Example: adding a portal module which allows students and faculty to preview the menu at the dining halls. Portal Module Portal Module Portal Module Portal Module Portal Module Portal Module New Portal Module Blackboard Platform Building Blocks Manager SQL JAVA New Module
Types of Building Blocks • Meta-data driven • Different “types” really just means different “entry points” • Defined in bb-manifest.xml • Types are not specifically enforced • A “content handler” could in fact launch a collaboration component
Building Blocks Program Components • Building Blocks Web Sites • http://www.blackboard.com • Extend Blackboard “Tab” • Learn about Building Blocks • Building Blocks Catalog • Featured Building Blocks • Community Links • Developers “Tab” • Building Blocks Software Developers Kit (SDK) • Documentation • Sample Code
Building Blocks Program Components • Blackboard Developer Network (BbDN) • Developer Tab • Bb Developer Licenses • Communities, Knowledge Base, Code Snippets, White Papers, Beta Software • “Blackboard Enabled” Logo Program
Developer - Documentation Documentation Application Framework Extension Developer Guide Module Developer Guide Extension Migration Guide Blackboard API Reference (Javadoc) Building Blocks FAQ
Developer Network Highlights • Access to a large community of expert Blackboard developers and administrators • Latest Blackboard Software • Pre-release access to upcoming versions
“Blackboard Enabled” Logo Program • Look for the Logo! • Independent Compatibility Testing • Conducted by Quality Partners • Assurance of safety, reliability, quality • Free test plans • Blackboard 5 • Blackboard 6 (coming very soon)
Building Blocks Roadmap • Evolution of Building Blocks • Where we are today • Where we are going tomorrow
Evolution of B2 – Release 5.5 • 1st Generation of Building Blocks • 1st Release of APIs which included content, user, announcement, and others • 1st Release of the Building Block Manager which facilitated the deployment of building blocks • UI hooks were student centric or content related • Blackboard and the development community learned much.
Evolution of B2 – Release 6.0 • 2nd Generation of Building Blocks • APIs are made consistent and simplified. New APIs are added. • 2nd Release of the Building Block Manager enhances management; adds security. • Additional UI hooks added throughout the platforms. New hooks for instructors and administrators available. • Portal APIs and “Back Office” APIs are added
Where we are today • Over 500 Institutions are using Building Blocks • Over 3,000 extensions have been downloaded from the catalog • Over 150 extensions available in the Building Blocks Catalog • Active developer community • Bb Developers Network • External Community – Open Source, BbUG
3rd Party Partners 3rd Party Tools and Services Instant Messaging PDA Synchronization Enhanced Assessment Engines Enhanced Collaboration Engines Enhanced Handheld Support Enhanced Content Management Enhanced Content Handling Mathematical & Scientific Notation Content Management Portal Technologies Content … and Much, Much More!
Where we are going • Breadth – More ways to expose functionality • .NET based APIs which allow Building Blocks to be developed on any of the CLR supported languages. • Web Services. Platform-neutral APIs for rich client applications or server integration • Additional UI hooks to integrated in almost every area within the control panels.
Where we are going • Depth – More functionality • Event Based API System • New classes of APIs • Reporting APIs • Licensing APIs • UI and Building Block hooks into other elements of Blackboard such as “List Pages”, “Textboxes”, and “Browse Buttons” • …and More.
Where we are going • B2 is a foundation technology for Blackboard • Much functionality from Blackboard will be release as Building Blocks, via Application Packs • Encouraging smaller, more manageable upgrades