This document discusses Microsoft Azure's infrastructure as a service capabilities including provisioning virtual machines and environments, disk types, virtual networking, connectivity options like SQL Azure Data Sync and Service Bus, and hybrid public/private cloud capabilities. It also mentions Azure's DNS services and VPN connectivity options like IKE and encryption standards.
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...Kazuki Takai
2022年3月19日に開催した Windows Server & Cloud User Group Japan 第29回 勉強会の資料です。
Azure AD B2B コラボレーションのクロステナントアクセス設定について解説します。テナント間のアクセスと信頼を設定することで、ホームテナントで実行された多要素認証の結果をセキュリティクレームとして受け取り、それをそのままリソーステナント側の認可に利用できるようになります。
The Who, What, Why and How of Active Directory Federation Services (AD FS)Jay Simcox
The document provides an overview of Active Directory Federation Services (ADFS) by discussing who benefits from ADFS, what ADFS is, how it works, and best practices for implementation. It explains that ADFS allows secure sharing of identity information and single sign-on access across applications. The key components of ADFS include the SharePoint Security Token Service, token-signing certificate, Identity Provider, identity and group claims, and relying party security token service.
The document provides information about an exam for the Microsoft Azure Administrator AZ-104 certification. It includes 10 total questions covering topics related to Azure networking, Active Directory, virtual machines, and storage. The document provides sample questions, explanations of answers, and an overview of the exam format and policies regarding feedback, support, and copyright.
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]日本マイクロソフト株式会社
Microsoft MVP for Data Platform
小澤 真之 氏
本セッションでは、SQL Server ベースの PaaS である、Azure SQL Database の直近で発表されているアップデートをまとめてご紹介させていただきます。
Azure SQL Database は進化を続けており、新しい機能も次々と追加されています。この機会にぜひ、最新の情報をお持ち帰りください。
【Microsoft Japan Digital Daysについて】
Microsoft Japan Digital Days は、お客様が競争力を高め、市場の変化に迅速に対応し、より多くのことを達成することを目的とした、日本マイクロソフトがお届けする最大級のデジタル イベントです。4 日間にわたる本イベントでは、一人一人の生産性や想像力を高め、クラウド時代の組織をデザインするモダンワークの最新事例や、変化の波をうまく乗り切り、企業の持続的な発展に必要なビジネスレジリエンス経営を支えるテクノロジの最新機能および、企業の競争優位性に欠かせないクラウド戦略のビジョンなどデジタル時代に必要な情報をお届けいたしました。(2021年10月11日~14日開催)
The document contains 11 questions regarding Azure identity, governance, and administration. The questions cover topics such as tagging virtual machines by department, configuring Azure AD conditional access policies, deploying Ubuntu virtual machines with custom configurations, and synchronizing on-premises Active Directory users to Azure AD. For each question, multiple potential solutions are provided and it is indicated whether each solution meets the stated goal.
컨테이너를 활용하여 마이크로서비스를 구성할 때는 효과적으로 컨테이너 및 서비스를 관리할 수 있는 방법이 필요합니다. 본 세션에서는 유연하게 컨테이너 환경을 관리/모니터링 할 수 있는 Amazon EC2 Container Service 및 EC2 Container Registry를 소개합니다. 아울러 Amazon ECS/ECR 환경에서 효과적인 자원 및 로그 관리, 마이크로서비스 관리에 대해서 자세히 살펴봅니다.
Windows Azure Backup provides a simple and reliable way to backup server data to the cloud. It encrypts backup data stored in Windows Azure storage for security. Backup and recovery is efficient using network and storage resources optimally. Windows Azure Backup integrates with existing Microsoft backup tools and provides offsite data protection in the cloud. To use it, organizations sign up for a Windows Azure account, enable Windows Azure Backup, configure backups and it charges per GB of storage used each month.
[SC03] Active Directory の DR 対策~天災/人災/サイバー攻撃、その時あなたの IT 基盤は利用継続できますか? de:code 2017
大規模災害や管理者のオペレーションミス、標的型攻撃による管理者アカウントの乗っ取りなど、様々な理由で Active Directory や Azure Active Directory が正常に利用できなくなった場合に IT 管理者はどうすれば良いのか、事前に何を準備しておけば良いのかの対策について具体例を交えて紹介致します。
受講対象: Active Directory の設計と運用を担当するエンジニア
製品/テクノロジ: Microsoft Azure/アイデンティティ (AD/Azure AD)/クラウド/事業継続/運用/セキュリティ
渡辺 元気
NTTコミュニケーションズ株式会社
クラウドサービス部
主査
.NET is designed to solve problems that have plagued programmers in the past like incompatibilities between programming languages and technologies. It provides a common language runtime and type system that allows different languages to work together. The .NET Framework handles many common programming tasks like serialization automatically through metadata and provides a large class library for common functions.
This document provides an overview of ASP.Net MVC, including its project structure, characteristics, and how it differs from traditional ASP.Net WebForms. It discusses the basic MVC model and how controllers, views, and dynamic code options work differently than in WebForms. Key differences highlighted are ASP.Net MVC's separation of concerns, testability, cleaner URLs, and faster performance compared to the event-driven and server-controlled nature of WebForms.
The Who, What, Why and How of Active Directory Federation Services (AD FS)Jay Simcox
The document provides an overview of Active Directory Federation Services (ADFS) by discussing who benefits from ADFS, what ADFS is, how it works, and best practices for implementation. It explains that ADFS allows secure sharing of identity information and single sign-on access across applications. The key components of ADFS include the SharePoint Security Token Service, token-signing certificate, Identity Provider, identity and group claims, and relying party security token service.
The document provides information about an exam for the Microsoft Azure Administrator AZ-104 certification. It includes 10 total questions covering topics related to Azure networking, Active Directory, virtual machines, and storage. The document provides sample questions, explanations of answers, and an overview of the exam format and policies regarding feedback, support, and copyright.
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]日本マイクロソフト株式会社
Microsoft MVP for Data Platform
小澤 真之 氏
本セッションでは、SQL Server ベースの PaaS である、Azure SQL Database の直近で発表されているアップデートをまとめてご紹介させていただきます。
Azure SQL Database は進化を続けており、新しい機能も次々と追加されています。この機会にぜひ、最新の情報をお持ち帰りください。
【Microsoft Japan Digital Daysについて】
Microsoft Japan Digital Days は、お客様が競争力を高め、市場の変化に迅速に対応し、より多くのことを達成することを目的とした、日本マイクロソフトがお届けする最大級のデジタル イベントです。4 日間にわたる本イベントでは、一人一人の生産性や想像力を高め、クラウド時代の組織をデザインするモダンワークの最新事例や、変化の波をうまく乗り切り、企業の持続的な発展に必要なビジネスレジリエンス経営を支えるテクノロジの最新機能および、企業の競争優位性に欠かせないクラウド戦略のビジョンなどデジタル時代に必要な情報をお届けいたしました。(2021年10月11日~14日開催)
The document contains 11 questions regarding Azure identity, governance, and administration. The questions cover topics such as tagging virtual machines by department, configuring Azure AD conditional access policies, deploying Ubuntu virtual machines with custom configurations, and synchronizing on-premises Active Directory users to Azure AD. For each question, multiple potential solutions are provided and it is indicated whether each solution meets the stated goal.
컨테이너를 활용하여 마이크로서비스를 구성할 때는 효과적으로 컨테이너 및 서비스를 관리할 수 있는 방법이 필요합니다. 본 세션에서는 유연하게 컨테이너 환경을 관리/모니터링 할 수 있는 Amazon EC2 Container Service 및 EC2 Container Registry를 소개합니다. 아울러 Amazon ECS/ECR 환경에서 효과적인 자원 및 로그 관리, 마이크로서비스 관리에 대해서 자세히 살펴봅니다.
Windows Azure Backup provides a simple and reliable way to backup server data to the cloud. It encrypts backup data stored in Windows Azure storage for security. Backup and recovery is efficient using network and storage resources optimally. Windows Azure Backup integrates with existing Microsoft backup tools and provides offsite data protection in the cloud. To use it, organizations sign up for a Windows Azure account, enable Windows Azure Backup, configure backups and it charges per GB of storage used each month.
[SC03] Active Directory の DR 対策~天災/人災/サイバー攻撃、その時あなたの IT 基盤は利用継続できますか? de:code 2017
大規模災害や管理者のオペレーションミス、標的型攻撃による管理者アカウントの乗っ取りなど、様々な理由で Active Directory や Azure Active Directory が正常に利用できなくなった場合に IT 管理者はどうすれば良いのか、事前に何を準備しておけば良いのかの対策について具体例を交えて紹介致します。
受講対象: Active Directory の設計と運用を担当するエンジニア
製品/テクノロジ: Microsoft Azure/アイデンティティ (AD/Azure AD)/クラウド/事業継続/運用/セキュリティ
渡辺 元気
NTTコミュニケーションズ株式会社
クラウドサービス部
主査
.NET is designed to solve problems that have plagued programmers in the past like incompatibilities between programming languages and technologies. It provides a common language runtime and type system that allows different languages to work together. The .NET Framework handles many common programming tasks like serialization automatically through metadata and provides a large class library for common functions.
This document provides an overview of ASP.Net MVC, including its project structure, characteristics, and how it differs from traditional ASP.Net WebForms. It discusses the basic MVC model and how controllers, views, and dynamic code options work differently than in WebForms. Key differences highlighted are ASP.Net MVC's separation of concerns, testability, cleaner URLs, and faster performance compared to the event-driven and server-controlled nature of WebForms.
This document discusses an automatic code generation tool called UJECTOR that can generate executable Java code from UML diagrams, including class diagrams, sequence diagrams, and activity diagrams. It notes the benefits of automatic code generation in reducing errors compared to manual coding. The paper also discusses some related work, including Enterprise Architect, Eclipse UML Generators, Rhapsody, and dCode - other tools that can generate code from UML models. Overall, the document examines challenges in ensuring consistency, accuracy, maintainability and efficiency when automatically generating code from UML models.
This talk cover the principles and the best practices in creation of flexible Microsoft .NET Core-based applications in connection with Microsoft Azure services, as well as tools and libraries that greatly simplify the development, configuration and deployment of applications. Also, attention paid to some pitfalls that may be encountered while using .NET Core.
This presentation by Andrii Antilikatorov, Consultant at GlobalLogic Kharkiv, was delivered at GlobalLogic Kharkiv MS TechTalk #2 on November 4, 2017.
This document provides an overview of microservices and how to develop them using Spring. It discusses the challenges of distributed systems and how Spring Boot and Spring Cloud Netflix address areas like configuration, service registration, load balancing, fault tolerance, and monitoring. Examples are provided for building microservices with Spring Boot, integrating configuration with Spring Cloud Config, registering services with Eureka, load balancing with Ribbon and Feign, handling faults with Hystrix, and monitoring with Hystrix Dashboard. Reactive programming with RxJava is also introduced as an approach for concurrent API integration.
The document provides an overview of Angular including:
- Angular is an open source JavaScript framework for building web applications in HTML and JavaScript. It provides services and objects to create applications faster.
- Typescript is a programming language that adds optional static typing to JavaScript. It compiles to JavaScript.
- Modules, components, templates, metadata, services, and routes are architectural concepts in Angular that define application structure and functionality.
- Components control views and consist of templates, classes, and metadata. Services provide shared functionality across modules. Routes enable navigation between views.
D22 portlet development with open source frameworksSunil Patil
The document discusses various frameworks for portlet development including Struts, Spring, and JSF. It provides details on the Struts Portlet Framework and Struts 2.0 framework, including their key components, architecture, and how they can be used to build portlet applications.
D22 Portlet Development With Open Source FrameworksSunil Patil
The document discusses various frameworks that can be used for portlet development, including the Struts Portlet Framework and Spring 2.0. It provides an overview of the Struts Portlet Framework, describing its runtime components and tooling support. It also summarizes key concepts in Struts 2.0 like actions, interceptors, and the value stack. The document recommends frameworks like JSF and Struts 2.0 for new portlet development and considers factors like skills availability and complexity.
Sebastien Thomas, System Architect at Coyote Amerique, gave a presentation on operator frameworks. His talk covered how Operator SDK can be used to create Kubernetes Operators with Go.
The .NET Framework allows developers to easily develop applications across various platforms and devices. Some key aspects of the .NET Framework 4.0 include improved support for parallel and asynchronous programming using technologies like the Task Parallel Library and improvements to the garbage collector to better optimize application performance. The Dynamic Language Runtime also allows dynamic languages to better interact with the .NET Framework and CLR.
asp.net using c# notes sem 5 ( we-it tutorials ).
Review of .NET frameworks, Introduction to C#, Variables and expressions, flow controls, functions, debugging and error handling, OOPs with C#, Defining classes and class members.
Assembly, Components of Assembly, Private and Shared Assembly, Garbage Collector, JIT compiler. Namespaces Collections, Delegates and Events. Introduction to ASP.NET 4: Microsoft.NET framework, ASP.NET lifecycle. CSS: Need of CSS, Introduction to CSS, Working with CSS with visual developer.
ASP.NET server controls: Introduction, How to work with button controls, Textboxes, Labels, checkboxes and radio buttons, list controls and other web server controls, web.config and global.asax files. Programming ASP.NET web pages: Introduction, data types and variables, statements, organizing code, object oriented basics.
Validation Control: Introduction, basic validation controls, validation techniques, using advanced validation controls. State Management: Using view state, using session state, using application state, using cookies and URL encoding. Master Pages: Creating master pages, content pages, nesting master pages, accessing master page controls from a content page. Navigation: Introduction to use the site navigation, using site navigation controls.
Databases: Introduction, using SQL data sources, GridView Control, DetailsView and FormView Controls, ListView and DataPager controls, Using object datasources. ASP.NET Security: Authentication, Authorization, Impersonation, ASP.NET provider model
LINQ: Operators, implementations, LINQ to objects,XML,ADO.NET, Query Syntax. ASP.NET Ajax: Introducing AJAX, Working of AJAX, Using ASP.NET AJAX
server controls. JQuery: Introduction to JQuery, JQuery UI Library, Working of JQuery
The document discusses TypeScript concepts including:
- TypeScript adds static typing to JavaScript for type safety and catches errors.
- It is transpiled to JavaScript using a compiler for browser compatibility.
- The document covers TypeScript basics like functions, parameters, return types, interfaces, classes, modules and generics.
- Functions, parameters and return types are typed for type safety. Interfaces define structures without implementation.
- Classes create object templates with fields and methods. Namespaces and modules organize code. Generics enable code reuse.
Migrating to the Isolated worker process in Azure Functions .pptxCallon Campbell
"Migrating to the Isolated worker process in Azure Functions" provides an overview of serverless computing and different hosting models, with a focus on migrating to the isolated worker process in Azure Functions. The presentation covers the benefits of the isolated worker process, including fewer conflicts, full control of the process, and dependency injection. It also includes demos and practical steps for migrating existing .NET applications to the isolated worker process. The presentation aims to help developers modernize their applications and prepare for future versions of .NET.
Using advanced C# features in Sharepoint developmentsadomovalex
This document discusses techniques for troubleshooting SharePoint issues using embedded server scripts and C# code without requiring updates to web service packages or DLL installations to the global assembly cache. Some key points discussed include using C# 3.0 features in SharePoint layout pages, generating dynamic methods via reflection to solve inheritance issues, and tools like Camlex that simplify creating CAML queries with lambda expressions and expression trees. Examples are provided for various techniques.
Presentation about new Angular 9.
It gives introduction about angular framework.
Provides information about why we use angular,
additional features and fixes from old versions. It will clearly explain how to create a new angular project and how to use angular commands and their usages.
It will also explain about the key components like angular architecture, routing, dependency injection etc.,
This document summarizes projects completed by Matt Willmer as part of a .NET Masters program. The projects involved building multi-tier applications using technologies like C#, ASP.NET, Windows Forms, SQL Server, and Visual Studio. Project 1 focused on learning C# features like properties and enumerators. Project 2 involved creating a Windows Forms application for a library management system. Project 3 added database functionality using LINQ to SQL. Project 4 created a web-based presentation layer for the library system using ASP.NET.
Struts is an open source MVC framework that makes it easier to develop and maintain Java web applications by providing common functionality out of the box and enforcing standardized patterns, reducing the need to write boilerplate code and helping developers focus on business logic. The framework handles common tasks like request processing, validation, and view resolution while providing features like tag libraries, internationalization support, and annotation-based configuration. Struts uses the model-view-controller architectural pattern and is based on technologies like servlets, JSPs, and Java beans.
Spring boot is a suite, pre-configured, pre-sugared set of frameworks/technologies to reduce boilerplate configuration providing you the shortest way to have a Spring web application up and running with smallest line of code/configuration out-of-the-box.
The document proposes a template called Template7 to help with common decisions in building software projects, such as data types, errors, architecture, and documentation. It describes Template7's overall and backend architectures, including layers like API, middleware, handlers, and components. The template also includes suggestions for patterns like singletons, custom data types, and errors to standardize code across projects.
Struts 2.0 is an open source MVC framework that makes building web applications with Java easier. It uses the Model 2 architecture pattern with actions as controllers, models to handle business logic, and JSPs as views. Struts handles common tasks like request processing, validation, and forwarding so developers can focus on business logic. While simple applications can use just servlets and JSPs, larger ones benefit from Struts' standardized structure, tags, and features which reduce complexity and improve maintenance.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersToradex
Toradex brings robust Linux support to SMARC (Smart Mobility Architecture), ensuring high performance and long-term reliability for embedded applications. Here’s how:
• Optimized Torizon OS & Yocto Support – Toradex provides Torizon OS, a Debian-based easy-to-use platform, and Yocto BSPs for customized Linux images on SMARC modules.
• Seamless Integration with i.MX 8M Plus and i.MX 95 – Toradex SMARC solutions leverage NXP’s i.MX 8 M Plus and i.MX 95 SoCs, delivering power efficiency and AI-ready performance.
• Secure and Reliable – With Secure Boot, over-the-air (OTA) updates, and LTS kernel support, Toradex ensures industrial-grade security and longevity.
• Containerized Workflows for AI & IoT – Support for Docker, ROS, and real-time Linux enables scalable AI, ML, and IoT applications.
• Strong Ecosystem & Developer Support – Toradex offers comprehensive documentation, developer tools, and dedicated support, accelerating time-to-market.
With Toradex’s Linux support for SMARC, developers get a scalable, secure, and high-performance solution for industrial, medical, and AI-driven applications.
Do you have a specific project or application in mind where you're considering SMARC? We can help with Free Compatibility Check and help you with quick time-to-market
For more information: https://www.toradex.com/computer-on-modules/smarc-arm-family
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
2. Agenda
NetSuite at a glance
What is SuiteScript API?
Key concepts of SuiteScript 2.0 API
SuiteScript 2.0 Syntax
HelloWorld Script
Advantages of SuiteScript 2.0
Drawback
Coexistence rules
1
3. Objectives of this presentation
Understanding the basics of SuiteScript 2.0 API
Explore the key differences between SuiteScript 1.0 & SuiteScript 2.0
2
4. NetSuite at a glance
Cloud-based business management software
Software as a Service (SaaS)
3
5. Is a JavaScript API that offers a broad range of options
for enhancing and extending NetSuite
SuiteScript API
What is SuiteScript API?
😟 😎 4
7. SuiteScript 2.0 is modular
All SuiteScript 2.0 APIs are organized into modules
Each module reflects the functionality
Concept #1:
6
8. NetSuite modules & objects
record searchlog file
NS
N
create({}) save({})load({})
∼32 modules
e.g: N/file
∼… APIs
e.g: record.create({});
setValue({}) …({})
Concept #1 (cont’d)
7
Module must be explicitly loaded by a script before using that module’s API
9. Suitescript 1.0 API
Organized in a Single global library JavaScript file.
Each file gets loaded to every single script regardless of how much API the script use.
Suitescript 2.0 API
Organized and grouped into the modules
Modules are loaded only when they are needed. — based on Asynchronous
Module Definition(AMD)
Now
Before
Modular
Concept #1 (cont’d)
8
10. Object as Arguments
The arguments passed to methods are typically {key:value} objects
var myObject = {
fieldId: 'greetingMsg',
value: 'Hello, World!'
};
myRecord.setValue(myObject);
myRecord.setValue({
fieldId: 'greetingMsg',
value: ‘Hello, World!'
});
Concept #2:
9
11. Suitescript 1.0 API
Argument list
Suitescript 2.0 API
Object as argument
Now
Before
‣ Objects
var myObject = {
fieldId: 'greetingMsg',
value: 'Hello, World!'
};
myRecord.setValue(myObject);
nlapiSetFieldValue('greetingMsg', 'Hello, World!');
Concept #2 (cont’d)
10
12. Script types and their Entry pointsConcept #3:
Script type:
SuiteScript 2.0 scripts consist of several script types
Each script type is designed for a specific type of situation and specific
types of triggering events
Entry point:
Represents the juncture at which the system grants control of the NetSuite application to
the script.
Each script type includes one or more entry points that are exclusive to that type
11
14. Suitescript 1.0 API
Scripts are not Expressive: - hard to recognize the purpose of a script
Scripts are Dependent: - Actions depend on settings done on NetSuite side
Suitescript 2.0 API
Expressive scripts - automatically detected by NetSuite
Independent scripts - No other enhancements needed.
Now
Before
‣ JSDocs tags
‣ Script types & Entry points
function myFunction(){
// logic here
}
sample_script.js
/**
* @NScriptType <script_type_name>
*/
define([], function() {
function myFunction(){
// logic here
}
return {
<entry_point_name> : <entry_point_function>
};
});
sample_script.js
Concept #3 (cont’d)
13
15. Entry point scripts & Custom module scriptsKey concept #4:
Entry point script:
The primary script attached on the script record
It identifies the script type, entry points, and entry point functions
Each entry point script must include at least one entry point and entry point function
Custom module script:
Is a user-defined script that holds the logic that can be used by other scripts
It’s loaded by an Entry point script as a dependency
Script type(s) declaration is not required
14
16. Suitescript 1.0 API
Suitescript 2.0 APINow
Before
NS
Script record A Script record B
script_A.js script_B.jsscript_A.js script_B.js
NS
Script record A Script record B
script_A.js script_B.js
‣ Custom module scripts
Concept #4 (cont’d)
15
Same modules used by-
many script records
17. Anatomy of an Entry Point Script
/**
* @NApiVersion 2.0
* @NScriptType UserEventScript
*/
define(['N/record', 'N/ui/dialog'],
function(record, dialog) {
function doBeforeLoad() {
/* logic of function*/
}
function doBeforeSubmit() {
/* logic of function*/
}
function doAfterSubmit() {
/* logic of function*/
}
return {
beforeLoad : doBeforeLoad,
beforeSubmit: doBeforeSubmit,
afterSubmit : doAfterSubmit,
};
}
);
JSDoc tags:
Required for an entry point script
Entry points:
At least one STANDARD entry point is required for
a script type
Define’s first argument:
List of Dependencies and/or Modules
3
2
1
4
Define’s second argument:
Callback function
1.
2.
3.
4.
Concept #4 (cont’d)
16
18. Anatomy of a Custom Module Script
JSDoc tags:
NOT Required for a custom module script, but USEFUL.
Entry point:
At least one USER-DEFINED entry point is required for a
custom module
Define’s first argument:
List of Dependencies and/or Modules required by the script
/**
* fileName.js
* @NApiVersion 2.x
* @ModuleScope Public
*/
define(['N/record', ’N/search'],
function(record, search) {
function dummySearch() {
/* logic of function*/
}
return {
myDummySearch : dummySearch,
};
}
);
3
2
1
4
Define’s second argument:
Callback function
1.
2.
3.
4.
Concept #4 (cont’d)
17
20. SuiteScript 2.0 Syntax
SuiteScript 2.0 syntax == JavaScript Syntax
๏ SuiteScript 2.0 methods takes plain JavaScript key/value object as an input.
๏ All boolean values take true or false (not T or F respectively)
๏ Parameter types in SuiteScript 2.0 must match as those listed in the Docs/NetSuite help
๏ Enumeration encapsulated common constants (e.g; standard record types)
๏ Sublists and column indexing begins at 0 (not 1)
… except some rules:
19
21. Let’s create a simple entry point script:
✓ Shows a message on page load
/**
* @NApiVersion 2.0
* @NScriptType ClientScript
*
*/
define([ 'N/ui/message' ], function(message) {
function showMessage() {
var msgObj = message.create({
title : 'Greeting',
message : 'Hello, welcome!',
type : message.Type.INFORMATION,
});
msgObj.show();
}
return {
pageInit : showMessage,
};
});
• Q: Why a Script Type is ClientScript ?
• Q: What is the name of an entry point
in this script ?
A: “shows a message on page”
(does something on a page)
A: “pageInit”
• Q: What is the name of an entry point
function in this script ?
A: “showMessage”
20
23. Some Advantages of SuiteScript 2.0
Enables us to create our own custom modules
✓ Keeps code DRY (Don’t Repeat Yourself): - One module used by many scripts!!
✓ Abstraction : - Later changes don’t affect the deployed script(s)
✓ Possible to add those modules to SuiteApps and expose them to third parties.
Modern programming syntax and behavior
✓ Modeled to behave and look like modern JavaScript — e.g: No nlapi/nlobj prefix
✓ Third party JavaScript API support
✓ Updated sublist and column indexing — (begins at 0 instead of 1)
Functionality enhancements
✓ MapReduce script type : designed to handle large amounts of data.
‣ automatic yielding without disruption to the script
Automatic Dependency management: No need to remember to order of library files
22
24. Other Advantages of SuiteScript 2.0
Easier to catch-up for non-NetSuite programmers
Easier to upgrade for future versions: easy as changing the
version number
Good and solid documentation with adequate examples
SuiteScript 2.0 the way forward
23
25. Optional parameters
[e.g; setAge(age = 18)]
Drawback
JavaScript SuiteScript 2.0
Arrow functions
[e.g; (a, b) => a + b;]
Rest parameters
[e.g; avgAge(…age)]
Block-scoped variables
[ e.g; let age = 18; ]
Mismatching of Scripting-language specification:
- JavaScript’s new version is ECMAScript 8 (partially supported), but SuiteScript 2.0 currently
supports ECMAScript 5
There’s a workaround here!, but haven’t tried it yet!! 24
Ex.:
26. Coexistence rules
1. SuiteScript 1.0 and 2.0 cannot intermix within the same script
‣ You cannot use 2.0 modules as 1.0 Library scripts
‣ You cannot include 1.0 files as 2.0 dependencies
2. The two versions can intermix in the same account, in the same
application, and can even be deployed on the same record.
SuiteScript 1.0 is still supported. however…
25
…however, SuiteScript 1.0 can be deprecated anytime!!!.