Blackboard Building Blocks
description
Transcript of Blackboard Building Blocks
Blackboard Building Blocks
Introduction to Building Blocks
Friday, April 21, 2023
Bob Alcorn, Director, Platform Architecture
Topics
Goals of Building BlocksWhat are Building BlocksTypes of Building BlocksBuilding Blocks Program ComponentsDevelopers CommunityBuilding 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 AdministratorsCreation 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 theunderlying 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.
Building Blocks Across Products
“Operating Environment”
Blackboard Building Blocks
Content Mgt
Content Authoring
Communication
Collaboration
Content
Assessment
Security Library Systems
Homegrown Applications Back Office Systems
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)
Tomcat
Building Blocks Technology
Database(SQL Server,
Oracle)
Perl (ActiveState,
mod_perl)
Web app
Web Server(IIS, Apache)
Anatomy of a Building Block
Package (.war/.zip file)
Platform Descriptor
Blackboard Manifest
Web Resources
Libraries
web.xml (Servlets)
Servlets, JSP (Java)
.class, .jar files (Java)
Content Type, Tools, etc.
Building Blocks Architecture
Core Services
Data Objects
Business Layer(JSP, Servlet, Struts)
View Layer(JSP, Servlet, Tag Library)
Log
Security
Config Persistence
Session
I18N VXI
Context Plug-ins
Types of Building Blocks
Extend Existing Blackboard FunctionalityAdd New Functionality into Blackboard Integrate 3rd party applications with Blackboard Integrate Blackboard with “Back-office” SIS and
Authentication SystemsCreate and Consume XML-Based Web ServicesProvide and Render portal modules, portlets,
and RSS Channels… and MORE!
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
Blackboard PlatformBuilding Blocks Manager
JAVASQL
Application
Application
Application
Application
Application
Application
Application
Content Engine
Text
Images
Multimedia
WYSIWYG
WYSIWYG
Types of Building Blocks
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.
Blackboard PlatformBuilding Blocks Manager
JAVASQL
Application
Application
Application
Application
Application
Application
Dict / Thes
Dictionary/T
hesaurus
Types of Building Blocks, contd.
Types of Building Blocks, contd.
Building Blocks which integrate a third party application with Blackboard– Example: Adding a
new assessment engine to Blackboard
Blackboard PlatformBuilding Blocks Manager
JAVASQL
Application
Application
Application
Application
Application
Gradebook
Integration Agent
Bb
Assessm
ent
C++
3rd Party Assessment Engine
SQL
Integ
ration
Ag
ent
Types of Building Blocks, contd.
Integration Agents which integrates Blackboard with Back-office ERP systems such SIS system as well as authentication systems such as LDAP and Kerberos.
Blackboard PlatformBuilding Blocks Manager
JAVASQL
Application
Application
Application
Application
Application
ER
P In
tegratio
n A
gen
t
SISLDAP
Au
then
tication
Ag
ent
Application
Application
Types of Building Blocks, contd.
Integration agents or Building Blocks which interoperate with XML based Web Services.
Blackboard PlatformBuilding Blocks Manager
JAVASQL
Application
Application
Application
Application
Application
Application
Application
Web Service
Web Service
Application
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.
Blackboard PlatformBuilding Blocks Manager
JAVASQL
Portal M
odule
Portal M
odule
Portal M
odule
Portal M
odule
Portal M
odule
Portal M
odule
New Module
New
Portal M
odule
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
Extend Blackboard
Extend Blackboard– B2 Catalog
Product Add-ons - Community
Developers
Developers – Code Samples
Developers – Tips and Tricks
Developer - Documentation
Documentation
Application Framework
Extension Developer Guide
Module Developer Guide
Extension Migration Guide
Blackboard API Reference (Javadoc)
Building Blocks FAQ
Developer – Submit Building Block
Blackboard Developers Network
Developer Network Highlights
Access to a large community of expert Blackboard developers and administrators
Latest Blackboard SoftwarePre-release access to upcoming versions
Active Community
Growing Community Outside of Bb
“Blackboard Enabled” Logo Program
Look for the Logo! Independent Compatibility Testing
– Conducted by Quality Partners
Assurance of safety, reliability, qualityFree test plans
– Blackboard 5– Blackboard 6 (coming very soon)
Building Blocks Roadmap
Evolution of Building BlocksWhere we are todayWhere 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
Thank You
Demos to Follow >