The document proposes a general error handling approach for Siebel applications. It involves designing a common error object model and cacheable Business Service that can generate, store, and retrieve error objects. The error objects would contain standardized fields to provide visibility into errors across different Siebel components. The Business Service would have methods for creating errors, appending them to a session list, and retrieving the last or full list of errors for an application session. The errors would also be logged to a database table for long-term storage and analysis.
Writing Usable APIs in Practice by Giovanni AsproniSyncConf
Explicitly or implicitly, when working on complex systems, end up designing some APIs to accomplish their tasks, either because the product itself is some kind of general purpose library or because they need to write some libraries and packages to put some common code of their applications.
There is plenty of information available about how to write clean and maintainable code, but not a lot about writing usable APIs. The two things are related, but they are not the same. In fact, clean code is code that is clean from the point of view of its maintainers, usable APIs, on the other hand, refer to code that programmers (other than the original author) find easy to use. We'll see how usable APIs help in writing clean code (and vice-versa).
Annotations are more than phpdoc comments, they're a fully-featured way of including additional information alongside your code. We might have rejected an RFC to add support into the PHP core, but the community has embraced this tool anyway! This session shows you who is doing what with annotations, and will give you some ideas on how to use the existing tools in your own projects to keep life simple. Developers, architects and anyone responsible for the technical direction of an application should attend this session.
Writing Usable APIs in Practice by Giovanni AsproniSyncConf
Explicitly or implicitly, when working on complex systems, end up designing some APIs to accomplish their tasks, either because the product itself is some kind of general purpose library or because they need to write some libraries and packages to put some common code of their applications.
There is plenty of information available about how to write clean and maintainable code, but not a lot about writing usable APIs. The two things are related, but they are not the same. In fact, clean code is code that is clean from the point of view of its maintainers, usable APIs, on the other hand, refer to code that programmers (other than the original author) find easy to use. We'll see how usable APIs help in writing clean code (and vice-versa).
Annotations are more than phpdoc comments, they're a fully-featured way of including additional information alongside your code. We might have rejected an RFC to add support into the PHP core, but the community has embraced this tool anyway! This session shows you who is doing what with annotations, and will give you some ideas on how to use the existing tools in your own projects to keep life simple. Developers, architects and anyone responsible for the technical direction of an application should attend this session.
Advanced Malware Analysis Training Session 5 - Reversing Automationsecurityxploded
This presentation is part of our Advanced Malware Analysis Training Series program.
For more details refer our Security Training page
http://securityxploded.com/security-training.php
This module is about start using jBPM5 and the things that you need to know in order to understand the basic concepts about how it works. During this module you can download and play with a sample project that define a simple business process with some business rules. This module provides different tests that shows how to interact with our processes in different ways and how to test the behavior unit testing them. For more information check out: http://salaboy.wordpress.com/
Advanced Malware Analysis Training Session 2 - Botnet Analysis Part 1 securityxploded
This presentation is part of our Advanced Malware Analysis Training Series program.
For more details refer our Security Training page
http://securityxploded.com/security-training.php
David Rey Lessons Learned Updating Content Licensing To Be Plone 3 Compat...Vincenzo Barone
This session will provide an overview of updating a Plone 2 Add On product to Plone 3. I will discuss the methods and tools used to refactor the codebase. This includes pointers on how to use GenericSetup and extension profiles to install your product, moving Zope2 tools to Zope3 utilities, and creation of control panel configlets using formlib. One of the biggest problems we faced in moving our codebase to Plone3 was the lack of readily available sample code to work from. We would like to make an example of the transition of ContentLicensing from Plone2 to Plone3 and provide this resource to the Plone community.
Aspect Oriented Programming Through C#.NETWaqas Tariq
.NET architecture was introduced by Microsoft as a new software development environment based on components. This architecture permits for effortless integration of classical distributed programming paradigms with Web computing. .NET describes a type structure and introduces ideas such as component, objects and interface which form the vital foundation for distributed component-based software development. Just as other component frameworks, .NET largely puts more emphasis on functional aspects of components. Non-functional interfaces including CPU usage, memory usage, fault tolerance and security issues are however not presently implemented in .NET’s constituent interfaces. These attributes are vital for developing dependable distributed applications capable of exhibiting consistent behavior and withstanding faults.
Advanced Malware Analysis Training Session 5 - Reversing Automationsecurityxploded
This presentation is part of our Advanced Malware Analysis Training Series program.
For more details refer our Security Training page
http://securityxploded.com/security-training.php
This module is about start using jBPM5 and the things that you need to know in order to understand the basic concepts about how it works. During this module you can download and play with a sample project that define a simple business process with some business rules. This module provides different tests that shows how to interact with our processes in different ways and how to test the behavior unit testing them. For more information check out: http://salaboy.wordpress.com/
Advanced Malware Analysis Training Session 2 - Botnet Analysis Part 1 securityxploded
This presentation is part of our Advanced Malware Analysis Training Series program.
For more details refer our Security Training page
http://securityxploded.com/security-training.php
David Rey Lessons Learned Updating Content Licensing To Be Plone 3 Compat...Vincenzo Barone
This session will provide an overview of updating a Plone 2 Add On product to Plone 3. I will discuss the methods and tools used to refactor the codebase. This includes pointers on how to use GenericSetup and extension profiles to install your product, moving Zope2 tools to Zope3 utilities, and creation of control panel configlets using formlib. One of the biggest problems we faced in moving our codebase to Plone3 was the lack of readily available sample code to work from. We would like to make an example of the transition of ContentLicensing from Plone2 to Plone3 and provide this resource to the Plone community.
Aspect Oriented Programming Through C#.NETWaqas Tariq
.NET architecture was introduced by Microsoft as a new software development environment based on components. This architecture permits for effortless integration of classical distributed programming paradigms with Web computing. .NET describes a type structure and introduces ideas such as component, objects and interface which form the vital foundation for distributed component-based software development. Just as other component frameworks, .NET largely puts more emphasis on functional aspects of components. Non-functional interfaces including CPU usage, memory usage, fault tolerance and security issues are however not presently implemented in .NET’s constituent interfaces. These attributes are vital for developing dependable distributed applications capable of exhibiting consistent behavior and withstanding faults.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
How world-class product teams are winning in the AI era by CEO and Founder, P...
General Error Handling Approach
1. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
General error handling approach
Author: Roman Agaev
Date: Tuesday, March 27, 2007
-1-
2. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Contents
Abstract.........................................................................................................................3
1 Analysis.......................................................................................................................3
2 Design.........................................................................................................................4
3 Conclusion...................................................................................................................7
3.1 Usage Examples...............................................................................................7
4 Appendixes..................................................................................................................8
-2-
3. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Tables
Table 3-1: Common error handling mechanism application programming interface....5
Figures
Figure 3-1: Common error handling mechanism data structure....................................4
Figure 4-2: Custom error object definition....................................................................7
Figure 4-3: Custom error generation using predefined appropriate Business Service...7
Figure 4-4: Custom error generation and handling........................................................8
Abstract
The main aim of current essay is demonstration of internal Siebel ability of effective
framework provision for common error handling mechanism1.
Generally Siebel environment provides many different ways for errors handling and
auditing, but no generalized enough way of doing so. When the final point states that
there is no easy way of Siebel processes auditing.
The following analysis and design is coming to answer on such a requirement.
1Analysis
Mechanism must be available from within every potential functional point of future
system:
Script
Workflow Process
Runt Time Event
The mechanism must provide a common error object model that will suit it usage as
run time error handler as well as custom error generation. The proposed error object
need be effective in terms if performance and easy usage and include the following
fields:
Err. Name – identity number
Err. OriginatorName – name of originator
Err. Message
Err. Code
Err. Type – bounded list of values: custom, runtime (default)
1
Additional information can be found in "Workflow usage best practices." from Appendixes section of
the document
-3-
4. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Err. OriginatorType – bounded list of values (BC2, BS3, applet, application, WP4,
RTE5)
Err. OriginatorId – Row Id if existed
Err. HighLevelProcessName – unbounded list of values
Err. ProcessName – unbounded list of values
The mechanism must allow effective visualization and query for recently occurred
errors per each of sequenced above fields.
2Design
The analysis can be handled using cacheable Business Service that will hold a data
structure consisted of predefined errors. The Business Service will consist of several
predefined methods that will define full API of the module.
The following figure demonstrates the visual representation of data structure:
Figure 3-1: Common error handling mechanism data structure
The data structure can be implemented using Propertyset object which is predefined
and most complicated data structure within Siebel environment or using Array and
custom objects.
2
Business Component
3
Business Service
4
Workflow Process
5
Run Time Events
-4-
5. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
The following table consists of error handling proposed methods:
Table 3-1: Common error handling mechanism application programming interface
Method Name Method Description
void Init(void) The method is empty method that
generally used for instantiating the
cacheable Business Service.
&ps CreateError(<attributes>) Creates an error object and stores it as
temporary error until it will be handled by
catch section
void AppendError(&ps) Appends created error to the session error
list
&ps GetLastError(void) Retrieves the last error from session error
list
&ps GetErrorsExposition(void) Retrieves the whole session error list
void Flush(void) Flushes the entire session error list to the
database6.
void Dispose(void) Eliminates any references to the object
structures created during the session and
stored as session living level elements.
The session error list can be stored in Siebel's datasource, for those purposes the new
elements of database, business and graphic user interface layers must be appended.
The Common Logging Mechanism referred in Appendixes section proposed option for
the functionality, but the following solution maybe used instead:
The following table demonstrates those elements per layer:
Layer Element Type Element Name Element Attributes
Database Table CX_ERROR_LOG NAME
ORIG_NAME
MESSAGE
CODE
TYPE
ORIG_TYPE
ORG_ID
HIGH_PROC_NAME
PROC_NAME
Business Business Common Errors Name
Component List Originator Name
Message
6
The meaning is that all the existed errors from session's error list data structure will be purged from
the memory, but stored firstly within the database. For more information please refer to "Common
logging mechanism" from Appendixes section of the document
-5-
6. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Layer Element Type Element Name Element Attributes
Code
Type
Originator Type
Originator Id
High Level Process
Name
Process Name
Common Errors Name
Originator Name
List VBC7
Message
Code
Type
Originator Type
Originator Id
High Level Process
Name
Process Name
Business Object Common Errors Common Errors List
List Common Errors List
VBC
Business Service Common Errors Init
Handling Engine CreateError
AppendError
GetLastError
GetErrorsExposition
Flush
Dispose
Graphic User Applet Common Errors
Interface Handling List
Applet
View Common Errors
Handling View
The Business Component of the module Common Error List can encapsulate the
complexity of errors managing delegating appropriate functionality using provided by
Siebel environment InvokeMethod mechanism.
In addition several parameters probably must be used in order to allow smooth
changing of several behavior aspects like – flushBoundary8 etc.
7
Based on concept described in essay " Common VBC paradigm " from Appendixes of the document
8
The parameters should be populated using " System parameters paradigm" from Appendixes of the
document
-6-
7. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
3Conclusion
The usage of such an approach will generalize the neediness of many different
functional points for auditing their run time errors as well as custom ones. It must be
realized that in any other cases the developer will be in front of choice, and in many
cases not very well based, designed and logically defined decision will lead to
decentralized and type less error handling.
3.1Usage Examples
The following section demonstrated several examples (using Array and custom
objects):
Figure 4-2: Custom error object definition
Figure 4-3: Custom error generation using predefined appropriate Business Service
-7-
8. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Figure 4-4: Custom error generation and handling
4Appendixes
"Workflow usage best practices" (Roman Agaev)
"Common VBC paradigm" (Roman Agaev)
"Common logging mechanism" (Roman Agaev)
"System parameters paradigm" (Roman Agaev)
-8-